设计模式(Design Pattern)是一套被反复使用、多数人知晓的,经过分类编目的、代码设计经验的总结。
设计模式分为三种类型,共23种:
- 创建型模式: 单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
- 结构型模式: 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
- 行为型模式: 模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解析器模式、状态模式、策略模式、责任链模式、访问者模式。
设计模式确定了所包含的类和实例,它们的角色、协作方式以及职责分配。每一个设计模式都集中于一个特定的面向对象设计问题或设计要点,描述了什么时候使用它,在另一些设计约束条件下是否还能使用,以及使用的效果和如何取舍。按照设计模式的目的可以分为三大类。
创建型 | 结构型 | 行为型 | |
---|---|---|---|
类 | Factory Method | Adapter(类) | Interpreter Template Method |
对象 | Abstract Factory Builder Prototype Singleton |
Adapter(对象) Bridge Composite Decorator Facade Flyweight Proxy |
Chain of Responsibility Command Iterator Mediator Memento Observer State Strategy Visitor |
适配器模式(Adapter Pattern) 是唯一一个既可以是类模式,也可以是对象模式的结构型模式。
行为模式中,解析器模式(Interpreter Pattern) 和 模板方法模式(Template Method) 即可以是类,也可以是对象的实现。