工厂模式

定义:Defineaninterfaceforcreatinganobject,butletsubclassesdecidewhichclasstoinstantiate.FactoryMethodletsaclassdeferinstantiationtosubclasses.(定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。)

定义

简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

结构

Factory

负责实现创建实例对象

Product

抽象的对象,定义实例的公共部分

ConcreteProduct

具体的创建对象,所有需要Factory创建的对象都属于该部分。

优点

  • 简化业务方创建成本,简化创建流程
  • 独立化了对象的创建,实现了系统的责任分割

缺点

  • 拓展困难,一旦需要添加新的目标对象需要直接修改原有代码
  • 逻辑复杂,相关类创建的逻辑需要进行把控
  • 新的对象创建逻辑异常可能直接导致旧有对象创建失败

使用场景

  • 需要工厂创建的对象较少,不会导致创建逻辑太过复杂
  • 调用方不关心如何创建对象