设计模式大致可以分为三大类:创建型设计模式,结构型设计模式和行为型设计模式
1.创建型设计模式
创建型设计模式,顾名思义就是用来创建对象的,主要有如下设计模式:
- 工厂方法模式:由子类来决定创建具体对象。
- 抽象工厂模式:允许使用者创建对象的家族,无需指定具体类。
- 单例模式:只为对象提供一个全局的访问点。
- 建造者模式:允许使用者自由搭配组合对象。
- 原型模式:通过复制原对象来创建新对象
2.结构型设计模式
结构型模式主要包括以下模式:
- 代理模式:增强对象功能。
- 门面模式:统一访问入口。
- 装饰器模式:为对象添加新的功能。
- 享元模式:共享资源池。
- 组合模式:统一整体和个体的处理方式。
- 适配器模式:两个不兼容的接口之间的桥梁,结合两个独立接口的功能。
- 桥接模式:将抽象与具体分离开来(多个维度都有不同需求)。
3.行为型设计模式
- 模板方法模式:定义完整流程,只允许子类微调和实现。
- 策略模式:定义可互相替换策略,使用者爱用哪个用哪个
- 责任链模式:链路上每个对象只处理自己能处理的。
- 状态模式:绑定状态和行为。
- 迭代器模式:统一对集合的访问方式。
- 命令模式:将请求与处理进行解耦。
- 备忘录模式:备份对象。
- 中介者模式:将网状结构统一通过中介进行管理(注册中心)。
- 解释器模式:实现特定语法的解析。
- 观察者模式:解耦观察者和被观察者,状态发生改变时只通知观察者。
- 访问者模式:解耦数据结构和数据操作。