1 工厂模式

想通过名称获取对象

2 抽象工厂模式

单个工厂不满足对象的生产

3 单例模式

全局只有一个对象

4 建造者模式

通过构造函数创建对象不方便,例如,构造函数参数太多

5 原型模式

重复创建相同的对象

6 适配器模式

将一个类的接口转换成客户希望的另外一个接口

7 桥接模式

对象存在两个维度的变化,例如,商品品质不同,其销售渠道不同。品质1-线下,品质2-线上,品质3-直播带货。不能给每种品质商品都创建类,这时候我们可以把销售渠道给抽象出来。

8 组合模式

对象数量很多,但是可以组合成树形结构。例如,树形菜单

9 装饰器模式

现有的对象添加新的功能,同时又不改变其结构。

10 外观模式

前端不需要知道系统内部流程

11 享元模式

相同的对象被多次使用

12 代理模式

直接访问对象存在问题时

13 责任链模式

有多个对象可以处理同一个请求,不确定具体哪个对象处理该请求

14 命令模式

认为是命令的地方都可以使用命令模式,例如,开机,关机

15 迭代器模式

遍历集合

16 中介者模式

对象之间关系复杂,依赖关系混乱

17 备忘录模式

需要提供一个可回滚的操作

18 观察者模式

需要监听某个对象的行为变化

19 状态模式

内部状态影响类的行为

20 策略模式

if else数量过多

21 模板模式

多个类存在相同的行为

22 访问者模式

经常为对象定义新的操作

23 过滤器模式

需要对请求进行过滤