工厂模式

创建类用的

场景:

1.代码中存在if-else分支判断,动态创建对象

2.对象创建比较复杂,例如需要组合其他类,初始化比较复杂

1.简单工厂:

类图

除了if-else的方式还可以用map提前吧对象准备好

缺点,拓展类时,不符合开闭原则,不容易拓展,if-else逻辑比较复杂时,判断方法会比较大。

2.工厂方法

一个工厂生产一个类,使得代码更容易拓展,更加符合开闭原则,也简化了工厂类的代码量,推荐使用,但是也增加了类的创建

3.抽象工厂

每个工厂都可以生产多个对象,代替解决工厂方法类过多,用的比较少