开发中,我们或多或少地接触了设计模式,但是很多时候不知道自己使用了哪种设计模式或者说该使用何种设计模式。本文意在梳理常见设计模式的特点,从而对它们有比较清晰的认知。
开发中,我们或多或少地接触了设计模式,但是很多时候不知道自己使用了哪种设计模式或者说该使用何种设计模式。本文意在梳理常见设计模式的特点,从而对它们有比较清晰的认知。
JavaScript 中常见设计模式
各设计模式关键词
看完了上述设计模式后,把它们的关键词特点罗列出来,以后提到某种设计模式,进而联想相应的关键词和例子,从而心中有数。
设计模式 | 特点 | 案例 |
---|---|---|
单例模式 | 一个类只能构造出唯一实例 | |
策略模式 | 根据不同参数可以命中不同的策略 | |
代理模式 | 代理对象和本体对象具有一致的接口 | |
迭代器模式 | 能获取聚合对象的顺序和元素 | each([1, 2, 3], cb) |
发布-订阅模式 | PubSub | |
命令模式 | 不同对象间约定好相应的接口 | |
组合模式 | 组合模式在对象间形成一致对待的树形结构 | |
模板方法模式 | 父类中定好执行顺序 | |
享元模式 | 减少创建实例的个数 | |
职责链模式 | 通过请求第一个条件,会持续执行后续的条件,直到返回结果为止 | |
中介者模式 | 对象和对象之间借助第三方中介者进行通信 | |
装饰者模式 | 动态地给函数赋能 | |
状态模式 | 每个状态建立一个类,状态改变会产生不同行为 | |
适配者模式 | 一种数据结构改成另一种数据结构 |
参考文献
*《JavaScript设计模式与开发实践》