创建型设计模式,顾名思义就是用来创建对象的,主要有如下设计模式:
- 工厂方法模式:由子类来决定创建具体对象。
- 抽象工厂模式:允许使用者创建对象的家族,无需指定具体类。
- 单例模式:只为对象提供一个全局的访问点(世上只有一个地球)。
- 建造者模式:允许使用者自由搭配组合对象。
- 原型模式:通过复制原对象来创建新对象。
结构型模式主要包括以下模式:
- 代理模式:增强对象功能。
- 门面模式:统一访问入口(拨开云雾见天日)。
- 装饰器模式:为对象添加新的功能(锦上添花)。
- 享元模式:共享资源池(节省资源,从我做起)。
- 组合模式:统一整体和个体的处理方式。
- 适配器模式:共享资源池(我所做的一切,只是为了配得上你)。
- 桥接模式:将抽象与具体分离开来。
- 模板方法模式:定义完整流程,只允许子类微调(小事随意,大事我做主)。
- 策略模式:定义可互相替换策略,使用者爱用哪个用哪个(条条道路通罗马)。
- 责任链模式:链路上每个对象只处理自己能处理的(各人自扫门前雪,休管他人瓦上霜)。
- 状态模式:绑定状态和行为。
- 迭代器模式:统一对集合的访问方式(别急,一个一个来)。
- 命令模式:将请求与处理进行解耦(运筹帷幄之中,决胜千里之外)。
- 备忘录模式:备份对象(专卖“后悔药”)。
- 中介者模式:将网状结构统一通过中介进行管理(快到我碗里来)。
- 解释器模式:实现特定语法的解析(我的地盘我做主)。
- 观察者模式:解耦观察者和被观察者,状态发生改变时只通知观察者。
- 访问者模式:解耦数据结构和数据操作。