行为型设计模式简介
行为型的模式主要关注于各个模块之间的沟通。
1 观察者模式
接触过vue的应该对这个有一定的了解。
相当于定义一个第三方,两个模块之间的沟通,通过一个第三发来进行转发
2 职责链模式
就是把各个模块之间组织起来,像一个生产线一样,这个模块的任务完成了,就交给下一个模块。以此类推,不断包装,实现最终需求。
3 状态模式
状态模式顾名思义,就是用状态去代替if判断。可以有效的减少if-else的分支,能够让对象根据不同的状态去做不同的行为。
4 命令模式
主要思想是用命令的模式解除执行者和命令者之间的耦合。这样就无须关注命令者是谁,只需要给执行者命令,执行者就会去执行。
5 策略模式
策略模式和状态模式比较类似,策略模式可以简单理解为一个算法工厂,告诉它要什么算法,就会返回给你一个什么算法
6 迭代器模式
迭代器模式就是在不了解一个对象内部的情况下,能够有序的去遍历这个对象的内部。比如es6中的forEach循环。
技巧型设计模式简介
1 链模式
就是常见的jq或者一些封装的链式调用。
2 惰性模式
在第一次执行之后,把执行状态记录下来。
3 委托模式
类似于让快递点代收快递。反映在代码上就是让别人代收消息。
4 等待者模式
常用于多种异步操作的情况下。当发出一堆异步操作的时候,我们需要等待者模式把这些异步操作都返回结果以后,再执行某些操作。
5 数据访问模式
建立一个数据管理器,可以方便的管理数据