定义:Defineaninterfaceforcreatinganobject,butletsubclassesdecidewhichclasstoinstantiate.FactoryMethodletsaclassdeferinstantiationtosubclasses.(定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。)
定义
简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
结构
Factory
负责实现创建实例对象
Product
抽象的对象,定义实例的公共部分
ConcreteProduct
具体的创建对象,所有需要Factory创建的对象都属于该部分。
优点
- 简化业务方创建成本,简化创建流程
- 独立化了对象的创建,实现了系统的责任分割
缺点
- 拓展困难,一旦需要添加新的目标对象需要直接修改原有代码
- 逻辑复杂,相关类创建的逻辑需要进行把控
- 新的对象创建逻辑异常可能直接导致旧有对象创建失败
使用场景
- 需要工厂创建的对象较少,不会导致创建逻辑太过复杂
- 调用方不关心如何创建对象