工厂方法模式 (Factory Method Pattern) 是一种创建型设计模式,它定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法模式让类的实例化推迟到子类。
一、基础
1. 意图
- 定义一个创建对象的接口,但由子类决定要实例化的类是哪一个。
- 工厂方法模式让类的实例化推迟到子类。
2. 适用场景
- 当一个类不知道它所必须创建的对象的类的时候。
- 当一个类希望由它的子类来指定它所创建的对象的时候。
- 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。
3. 结构
- 抽象产品(Product):定义了产品的接口,是所有具体产品类的父类。
- 具体产品(ConcreteProduct):实现了抽象产品接口,是具体被创建的对象。