简单工厂模式
定义
类型
创建型,但不属于GOF23种设计模式
适用场景
工厂类负责创建的对象比较少
客户端(应用层)只知道传入工厂类的参数对于如何创建对象(逻辑)不关心
优缺点
- 优点
- 只需要传入一个正确的参数,就可以获取你所需要的对象而无须知道其创建细节
- 缺点
- 工厂类的职责相对过重,增加新的产品需要修改工厂类的判断逻辑,违背开闭原则
分割线
工厂模式
定义
定义ー个创建对象的接口
但让实现这个接口的类来决定实例化哪个类
工厂方法让类的实例化推迟到子类中进行
类型
创建型
适用场景
创建对象需要大量重复的代码
客户端(应用层)不依赖于产品实例如何被创建、实现等细节
一个类通过其子类来指定创建哪个对象
优缺点
优点
用户只需要关心所需产品的对应的工厂,无需关心创建细节
加入新产品符合开闭原则,提高可扩展性
缺点
类的个数容易过多,增加复杂度
增加了系统的抽象性和理解难度