概念
Simple Factory Pattern:专门定义一个工厂类负责管理创建其他类的实例。根据创建方法的参数返回不同类的实例,被创建的实例通常具有共同的父类。
使用
1 | // 可乐抽象类 |
优点
- 使用者只需要给工厂类传入一个约定好的参数,就能获取到想要的对象,不需要知道其创建的细节,一定程度上减少系统的耦合
- 客户端只需要知道具体产品类对应的参数即可,减少开发者的记忆成本
缺点
- 如果业务上需要添加新产品,需要修改工厂类原有的判断逻辑,违背开闭原则
- 产品类型较多的情况下,有可能造成工厂逻辑过于复杂,简单工厂类型适合产品种类少且增加的概率低的情况