一.创建型模式
都是用来创建对象的
- Singleton(单例模式)
- 保证一个类只有一个实例,并且提供一个访问该实例的全局访问点
- Factory Method(工厂模式)
- 简单工厂模式(常用)
用来生产同一等级结构中的任意产品(对于新增产品,需要修改已有代码) - 工厂方法模式
用来生产同一等级结构中的固定产品(支持增加任意产品) - 抽象工厂模式
用来生产不同产品族的全部产品(无法新增新产品;支持增加产品族)
- 简单工厂模式(常用)
- Builder(建造者模式)
- 分离了对象子组件的单独构造(由Builder负责)和装配(由Director负责)。从而可以构造出复杂对象。
- Prototype(原型模式)
- 通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。
二.结构型模式
- Adapter Class/Object(适配器模式)
- Bridge(桥接模式)
- Composite(组合模式)
- Decorator(装饰模式)
- Facade(外观模式)
- Flyweight(享元模式)
- Proxy(代理模式)
三.行为型模式
- Interpreter(解释器模式)
- Template Method(模板方法模式)
- Chain of Responsibility(责任链模式)
- Command(命令模式)
- Iterator(迭代器模式)
- Mediator(中介者模式)
- Memento(备忘录模式)
- Observer(观察者模式)
- State(状态模式)
- Strategy(策略模式)
- Visitor(访问者模式)