我们先看设计模式的分类:
范围 | 创建型 | 结构型 | 行为型 |
类 | Factory Method(工厂方法) | Adapter(类) (适配器) | Interpreter(解释器) Template Method(模版方法) |
对象 | Abstract Factory(抽象工厂) Builder(建造者) Prototype(原型) Singleton(单例) | Adapter(对象)(适配器) Bridge(桥接) Composite(组合) Decorator(装饰者) Façade(外观) Flyweight(享元) Proxy(代理) | Chain of Responsibility(职责链) Command(命令) Iterator(迭代器) Mediator(中介者) Memento(备忘录) Observer(观察者) State(状体) Strategy(策略) Visitor(访问者) |
再细点分类:
范围 | 创建型 | 结构型 | 行为型 |
对象创建 | Singleton(单例) Prototype(原型) Factory Method(工厂方法) Abstract Factory(抽象工厂) Builder(建造者) |
|
|
接口适配 |
| Adapter(适配器) Bridge(桥接) Façade(外观) |
|
对象去耦 |
|
| Mediator(中介者) Observer(观察者) |
抽象集合 |
| Composite(组合) | Iterator(迭代器) |
行为扩展 |
| Decorator(装饰)
| Visitor(访问者) Chain of Responsibility(职责链) |
算法封装 |
|
| Template Method(模板方法) Strategy(策略) Command
|
性能与对象访问 |
| Flyweight(享元) Proxy(代理) |
|
对象状态 |
|
| Memento(备忘录) State(状态) |
其它 |
|
| Interpreter(解释器) |
|
|
|
|
经典23种设计模式,Let's Go:
创建型设计模式:
结构型设计模式: 行为型设计模式:总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下: