js设计模式:享元模式

作用:

当需要处理很多非常类似操作的时候,可以创建可以共享的对象,并暴露接口供其他对象调用

这个对象内包含这些操作的处理逻辑,可以优化性能

示例:

javascript 复制代码
        const Ipad = function(){
           const apps = {}

           const useApp = function(appName,appFun){
                  if(apps[appName]){
                    return apps[appName]
                  }
                  const app = {
                    appName:appName,
                    appFun:appFun
                  }
                  apps[appName] = app
                  return app
           }
           return { useApp }
        }

        const ipad = new Ipad()
        const bilibili = ipad.useApp('bilibili','学习编程技术')
        const jingdong = ipad.useApp('jingdong','网购使用')
        const lolm = ipad.useApp('lolm','游戏娱乐')
         
        console.log(ipad,'平板')
        console.log(bilibili,jingdong,lolm,'应用')
相关推荐
哆啦A梦15882 小时前
商城后台管理系统 03 登录布局
javascript·vue.js·elementui
曼巴UE52 小时前
UE FString, FName ,FText 三者转换,再次学习,官方文档理解
服务器·前端·javascript
selt7912 小时前
Redisson之RedissonLock源码完全解析
android·java·javascript
行走的陀螺仪3 小时前
高级前端 Input 公共组件设计方案(Vue3 + TypeScript)
前端·javascript·typescript·vue·组件设计方案
一颗不甘坠落的流星3 小时前
【Antd】基于 Upload 组件,导入Json文件并转换为Json数据
前端·javascript·json
LYFlied3 小时前
Vue2 与 Vue3 虚拟DOM更新原理深度解析
前端·javascript·vue.js·虚拟dom
Lucky_Turtle3 小时前
【Node】npm install报错npm error Cannot read properties of null (reading ‘matches‘)
前端·npm·node.js
小飞侠在吗4 小时前
vue shallowRef 与 shallowReacitive
前端·javascript·vue.js
惜分飞4 小时前
sql server 事务日志备份异常恢复案例---惜分飞
前端·数据库·php