一. 职责链模式
介绍:
- 一步操作可能分为多个职责角色来完成
- 把这些角色都分开,然后用一个链串起来
- 将发起者和各个处理者进行分离
场景:
- 职责链模式和业务结合较多,JS中能联想到链式操作
- jQuery中的链式操作,Promise的then的链式操作
代码实现:
二. 命令模式
概念:
- 执行命令时,发布者和执行者分开
- 中间加入命令对象,作为中转站
示例:
- 发送者:将军
- 命令对象:打鼓的
- 接收者:士兵
场景应用:
网页富文本编辑器操作,浏览器封装了一个命令对象
代码实现:
设计原则:
- 命令对象和执行对象分开,解耦
- 符合开放封闭原则
三. 备忘录模式
介绍:
- 随时记录一个对象的状态变化
- 随时可以恢复之前的某个状态(如撤销功能)
代码实现: