Skip to content

2.2、工厂方法(Factory Method)模式

工厂方法模式

意图

  • 定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法模式使一个类的实例化延迟到其子类

概念

适用于:

  • 当一个类不知道它所必须创建的对象的类的时候
  • 当一个类希望由它的子类来指定它所创建的对象的时候(一个类的实例化延迟到子类)
  • 当类创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候

代码

java

public class FactoryMethod {
  public static void main(String[] args) {
    Factory factoryA = new FactoryA();
    Product productA = factoryA.createProduct();

    Factory factoryB = new FactoryB();
    Product productB = factoryB.createProduct();
  }

interface Factory {

    public Product createProduct();
    }
}

interface Product {
    // 接口里的方法都是抽象方法
    public void info();
}

class FactoryA implements Factory {
    @Override
    public Product createProduct() {
        return new ProductA();
    }
}

class FactoryB implements Factory {
    @Override
    public Product createProduct() {
        return new ProductB();
    }
}

class ProductA implements Product {
    @Override
    public void info() {
        System.out.println("产品A");
    }
}

class ProductB extends Product {
    @override
    public void info() {
        System.out.println("产品B");
    }
}

KESHAOYE-知识星球 V20251108213032