Skip to content

2.1、简单工厂模式

属于创建型模式,但不属于 23 种模式之一

  • 用于创建实例的方法通常为静态(static)方法(类名.方法名可以直接调用)
  • 需要什么产品就传入产品对应参数,而不需要知道其实现过程
简单工厂模式

角色

  • 工厂(核心):负责实现创建所有产品的内部逻辑(工厂类可以直接被调用,创建所需对象)
  • 抽象产品:工厂类所创建的所有对象的父类,封装了产品的公共方法,所有的具体产品为其子类对象
  • 具体产品:简单工厂模式的创建目标,所有被创建的对象都是某个具体类的实例。它要实现抽象产品中声明的抽象方法

代码

java

public class SimpleFactory {
  public static void main(String[] args) {
    Product productA = Factory.createProduct("A");
    productA.info();
    Product productB = Factory.createProduct("B");
    productB.info();
  }
}

class Factory {

    public static Product createProduct(String type) {
        Product product = null;
        switch (type) {
            case "A":
              product = new ProductA();
              break;
            case "B":
              product = new ProductB();
              break;
            default:
              System.out.println("没有此产品");
              break;
        }
        return product;
    }
}

abstract class Product {
    public abstract void info();
}

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

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

KESHAOYE-知识星球 V20251108213032