工厂模式有哪几种?

发布于

一、简单工厂

一个工厂类根据参数创建不同产品。违反开闭原则,新增产品需改工厂。

public class ShapeFactory {
    public Shape create(String type) {
        if ("circle".equals(type)) return new Circle();
        if ("square".equals(type)) return new Square();
        return null;
    }
}

二、工厂方法

定义工厂接口,每个产品对应一个具体工厂。符合开闭原则,但类数量多。

public interface ShapeFactory { Shape create(); }
public class CircleFactory implements ShapeFactory {
    public Shape create() { return new Circle(); }
}

三、抽象工厂

创建一系列相关产品(产品族)。如同一品牌的手机 + 电脑。

四、Spring 中的工厂

BeanFactory 是 Spring 最核心的工厂,负责创建和管理 Bean。