JavaScript 设计模式之其他设计模式
原型模式
概念
- clone 自己,生成一个新对象。
Object.creat()
桥接模式
概念
- 用于把抽象与实现化解耦
- 使得二者可以独立变化
代码演示
1 | class Color { |
设计原则验证
- 抽象和实现分离,解耦
- 符合开放封闭原则
组合模式
概念
- 生成属性结构,表示 “整体-部分” 关系
- 让整体和部分都具有一致的操作方式
- 整体和单个节点的数据结构也要吃一致
设计原则验证
- 将整体和单个节点的操作抽象出来
- 符合开放封闭原则
享元模式
概念
策略模式
模板方法模式
1 | class Action { |
职责链模式
概念
- 一步操作可能分为多个职责角色来完成
- 把这些角色都分开,然后用一个链串起来
- 将发起者和各个处理者进行隔离
1 |
|
JavaScript 中的链式操作
- jQuery
- Promise
设计原则验证
- 发起者和各个处理者进行隔离
- 符合开
放封闭原则
命令模式
概念
- 执行命令时,发布者和执行者分开
- 中间加入命令对象,作为中转站
代码演示
1 | class Receiver { |
设计原则验证
- 命令对象与执行对象分开、解耦
- 符合开放封闭原则
备忘录模式
概念
- 随时记录一个对象的状态变化
- 随时可以恢复之前的某个状态(撤销功能)
代码演示
1 |
|
中介者模式
概念
代码演示
1 | class Mediator { |
设计原则验证
- 将个关联对象通过中介者隔离
- 符合开放封闭原则
访问者模式
- 将数据操作和数据结构进行分离
- 使用场景不多
解释器模式
- 描述语言语法如何定义,如何解释和编译
- 用于专业场景