作用:

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

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

示例:

        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,'应用')

 js设计模式:享元模式-LMLPHP

02-25 06:59