前端设计模式2

91 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第5天,点击查看活动详情

  • ##策略模式
  • 策略模式的定义:定义一系列的算法,把他们一个个封装起来 并且使他们可以相互替换
  • 策略模式java定义:定义算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户
  • 其实核心都是让客户直接执行,不用管这个操作具体是怎么执行的
  • 策略模式的目的就是将算法的使用,算法的实现分离开来。
  • 一个基于策略模式的程序至少由两部分组成,第一部分是一组策略模式(可变),策略封装了具体的算法,并负责具体的计算过程,第二个部分是环境类(context)不看,context接受客户的请求,随后将请求委托给某一个策略类,要做到这一点,说明context中要维持对某个策略对象的引用
  • ##代理模式
  • 代理模式定义:为一个对象提供一个代用品或占位符以便控制对他的访问
  • 常用的虚拟代理形式:某个花销很大的操作,可以通过虚拟代理的方式延迟到这种需要它的时候才去创建(例如:使用虚拟代理实现图片懒加载)
  • 图片懒加载的方式:先通过一张loading图占位,然后通过异步的方式加载图片,等图片加载好了再把完成的图片加载到img标签里面
  • 防抖截流 www.cnblogs.com/momo798/p/9…
  • ##中介者模式
  • 中介者模式的定义:通过一个中介者对象,其他所有的相关对象都通过该中介者对象来通信,而不是互相引用,当其中的一个对象发生改变时,只需要通知中介者即可,通过中介者模式可以解除对象与对象之间的紧耦合关系
  • 例如 redux、vuex都属于中介者模式的实际应用,我们啊吧共享的数据,抽离成一个单独的store,每个都通过store这个中介者来操作对象