js设计模式-结构型:代理模式、适配器模式、装饰器模式、外观模式、桥接模式、组合模式、享元模式

81 阅读1分钟

一、代理模式

用一个中间层去给实际要干的事情做一个封装,作为补充。

列表展示图片时,加载时给一个loading的图片,加载出来了再将真实图片展示出来。

接口请求时判断一下参数如果相同直接读取缓存,如果没有缓存采取请求接口

二、适配器模式

对不兼容的部分进行适配,在不改变现有数据结构的前提下,通过适配器连接

      const obj = {
        0: 'a',
        1: 'b',
        2: 'c'
      }

      // 适配器:将对象转为数组
      function arrayAdapter(data) {
        if (typeof data !== 'object') return []
        if (Object.prototype.toString.call(data) === '[object Array]')
          return data
        const arr = []
        for (const key in data) {
          arr.push(data[key])
        }
        return arr
      }

      const res = arrayAdapter(obj)
      console.log(res)