工厂模式有哪几种?
发布于
一、简单工厂
一个工厂类根据参数创建不同产品。违反开闭原则,新增产品需改工厂。
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。