一、工厂方法模式介绍
1、工厂方法模式是一种创建型设计模式,它提供了一种将对象的创建委托给子类的方式,工厂方法模式定义了一个用于创建对象的接口,让子类决定实例化哪个类。这样可以将对象的创建逻辑和使用逻辑解耦,使得系统更加灵活。
2、工厂方法模式的核心思想是将对象的创建和使用解耦,通过将对象的创建交给子类来实现,子类可以根据需要自行选择实例化哪个类。工厂方法模式是一种面向对象的思想,它遵循了开闭原则,即对扩展开放,对修改关闭。
3、工厂方法模式的角色:
- 抽象产品(Product):定义了产品的接口,是具体产品类的父类。
- 具体产品(Concrete Product):实现抽象产品接口,定义具体产品的具体属性和行为。
- 抽象工厂(Creator):定义了创建产品的接口,包含一个创建产品的方法。
- 具体工厂(Concrete Creator):实现抽象工厂接口,实现创建产品的具体逻辑。
4、工厂方法模式的使用场景:
- 当一个类不知道它所需要的对象的类时。
- 当一个类希望由子类来指定所创建的对象时。
- 当一个类将创建对象的职责委托给多个工厂类中的某一个时。
二、下面是一个简单的工厂方法模式的代码示例:
// 定义产品接口
interface Product {
void use();
}
// 具体产品A
class ConcreteProductA implements Product {
@Override
public void use() {
System.out.println