1. 简单工厂模式的核心价值
在面向对象编程中,创建对象是最基础的操作之一。但直接使用new关键字实例化对象会带来几个明显问题:代码耦合度高、难以扩展、违反开闭原则。简单工厂模式通过将对象的创建过程封装到一个专门的工厂类中,完美解决了这些问题。
我曾在电商系统开发中遇到过这样的场景:需要根据用户等级创建不同的折扣策略对象。最初直接在业务代码中new各种策略类,导致每次新增策略都要修改多处代码。后来引入简单工厂模式后,所有创建逻辑集中到了一处,维护成本降低了70%以上。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 模式结构与实现原理
2.1 经典UML结构
简单工厂模式包含三个核心角色:
- 工厂类(Factory):负责创建具体产品对象的中心类
- 抽象产品(Product):定义产品对象的公共接口
- 具体产品(ConcreteProduct):实现抽象产品接口的具体类
java复制// 抽象产品
interface Product {
void operation();
}
// 具体产品A
class ConcreteProductA implements Product {
@Override
public void operation() {
System.out.println("Product A operation");
}
}
// 工厂类
class SimpleFactory {
public static Product createProduct(String type) {
switch(type) {
case "A":
return new ConcreteProductA();
case "B":
return new ConcreteProductB();
default:
throw new IllegalArgumentException("Unknown product type");
}
}
}
2.2 创建逻辑的隐藏机制
工厂类的核心
