一、简单工厂
1、特点
2、适用场景
3、优缺点
优点:
可以对创建的对象进行“加工”,对客户端隐藏相关细节
缺点:
- 因创建逻辑复杂或创建对象过多而造成代码臃肿
- 新增、删除子类均会违反开闭原则 OpenClose
4、代码参考
二、工厂方法模式
1、特点
定义一个用于创建对象的接口,让子类决定实例化哪一个类
- 对类的实例化延迟到其子类
2、使用场景
3、优缺点
优点:
- 加入新产品遵守开闭原则 OpenClose
- 对客户端隐藏对象创建的细节,用户只需关心所需产品对应的工厂
- 遵循单一职责原则 Single Responsibility
缺点:
4、代码参考
UML类图