工厂方法模式 (Factory Method)
· 阅读需 4 分钟
工厂方法模式是一种创建型设计模式,在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。
客户端将由不同工厂创建的所有产品都视为抽象的,客户端知道所有产品都提供的交付方法,但是并不关心其具体实现方式。也就是说,产品要有统一的接口,让客户知道怎么用,但不需要知道所调用方法的内部逻辑。如果某一天需要添加新的产品,不需要破坏原有代码,写新的工厂类来创建新产品即可,产品仍然是遵循统一的接口,对客户来说,使用并没有变化。
优点:
- 可以避免创建者和具体产品之间的紧密耦合。
- 单一职责原则。可以将产品创建代码放在程序的单一位置,从而使得代码更容易维护。
- 开闭原则。无需更改现有客户端代码,你就可以在程序中引入新的产品类型。
缺点:
- 应用工厂方法模式需要引入许多新的子类,代码可能会因此变得更复杂。