简单工程模式属于创建型模式,创建型模式对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。
简单工厂模式,又称静态工厂模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类(接口)。
简单工厂模式的优点:
1.实现了对责任的分割,提供了专门的工厂类方法用于创建对象。
2.客户端无需知道所创建的具体产品的类名,只需知道具体产品所对应的参数即可。
缺点:
1.工厂类集中了所有产品的创建逻辑,一旦不能正常运行,整个系统都要受影响。
2.增加了系统类的个数。
3.系统扩展困难,一旦增加新产品就不得不修改工厂逻辑。
4.工厂模式由于使用了静态工厂方法,造成了工厂角色无法基于继承的等级结构。
使用场景:
工厂类负责创建的对象比较少。
客户端只知道传入工厂类的参数,对于如何创建对象不关心。