1.创建型模式
与对象的创建有关;
- 抽象工厂:创建一系列相关接口,而无须指定他们的类;
- 工厂方法:创建对象接口,子类决定实例哪个类;
- 单例模式:保证类只有一个实例;
- 生成器:对象构建和表示分离,同样的构建生成不同对象;
- 原型:指定创建对象的种类,复制而创建新对象;
2.结构型模式
处理类或对象的组合
- 适配器:解决两个接口不兼容;
- 桥接:抽象接口和其实现分离,提供稳定的桥接口独立改变;
- 组合:多重对象可用一个对象来表示;
- 装饰:不需要生成子类而添加功能;
- 代理:当直接访问不方便,提供一个替代者;
- 享元:对象共享,节省开销;
- 外观:将消息转发给它表示的对象。
3.行为型模式
对类或对象的职责分配
- 责任链:不明确接受者情况下,请求多个对象处理
- 命令:封装请求为对象,
- 解释器:解释文法
- 迭代器:封装迭代过程
- 中介者:封装对象间协议
- 状态:封装状态相关行为
- 备忘录:不破坏对象捕获对象内部状态,并保存
- 观察者:一但状态变化,都会通知
- 策略:封装算法
- 模板方法:算法的抽象
- 访问者:不改变类,作用于元素新操作