设计模式
设计模式分类
所有模式都可以按其意图或目的进行分类。
1.1.1、按意图划分
意图 | 模式 | 特点 |
---|---|---|
接口型模式 | 适配器模式、外观模式、组合模式、桥接模式 | 需要对一个类或一组类的方法进行定义或重定义的场景 |
职责型模式 | 单例模式、观察者模式、中介者模式、代理模式、职责链模式、享元模式 | 用于集中、加强以及限制普通对象责任的技术 |
构造型模式 | 建造者模式、工厂方法模式、抽象工厂模式、原型链模式、备忘录模式 | 让客户类不通过构造函数来创建对象 |
操作型模式 | 模板方法模式、状态模式、策略模式、命令模式、解释器模式 | 将操作分散,不同的类在实现同一个操作时采用不同的方式(即多态的灵活运用) |
扩展型模式 | 装饰器模式、迭代器模式、访问者模式 | 主要用于扩展,装饰器(动态组合)、迭代器(顺序访问)、访问者(运行新定义操作) |
1.1.2、按目的划分
设计模式按目的来划分可以分为三大类,分为创建型模式、结构型模式和行为型模式 3 种。
如果还需要分的更细,根据模式是主要用于类上还是主要用于对象上来分,又可分为类模式和对象模式两种。
1)按目的划分
意图 | 模式 | 特点 |
---|---|---|
创建型模式 | 单例模式、原型模式、工厂方法模式(简单工厂模式)、抽象工厂模式、建造者模式 | 关注如何创建对象,将对象的创建与使用分离 |
结构型模式 | 代理模式、适配器模式、桥接模式、装饰器模式、外观模式、享元模式、组合模式 | 关注如何将对象和类按某种布局组装成更大的结构 |
行为型模式 | 模板方法模式、策略模式、命令模式、责任链模式、状态模式、观察者模式、中介者模式、迭代器模式、访问者模式、备忘录模式、解释器模式 | 关注类或对象之间的如何协同完成复杂的任务 |
2)按作用范围划分
类模式:工厂方法模式、模板方法模式、解释器模式、(类)适配器模式,适配器支持两种,还有一种是对象适配器模式。
对象模式:除了类模式,剩下的都是对象模式。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 little_kim!
评论