简单工厂模式(Simple Factory Pattern)是一种常用的创建型设计模式,它通过一个工厂类来封装对象的创建逻辑,客户端无需直接实例化具体类,从而降低耦合。以下通过Java源码示例详细解析简单工厂模式的实现。
简单工厂模式包含三个核心角色:
以下是一个简单的示例,模拟生产不同类型的产品(如汽车)。
public interface Product {
void use();
}
`java
// 具体产品A:轿车
public class Car implements Product {
@Override
public void use() {
System.out.println("驾驶轿车出行。");
}
}
// 具体产品B:卡车
public class Truck implements Product {
@Override
public void use() {
System.out.println("使用卡车运输货物。");
}
}`
public class ProductFactory {
// 静态工厂方法,根据类型参数创建产品
public static Product createProduct(String type) {
if ("car".equalsIgnoreCase(type)) {
return new Car();
} else if ("truck".equalsIgnoreCase(type)) {
return new Truck();
} else {
throw new IllegalArgumentException("未知产品类型:" + type);
}
}
}
`java
public class Client {
public static void main(String[] args) {
// 通过工厂创建产品
Product car = ProductFactory.createProduct("car");
car.use(); // 输出:驾驶轿车出行。
Product truck = ProductFactory.createProduct("truck");
truck.use(); // 输出:使用卡车运输货物。
}
}`
优势:
- 客户端与具体产品解耦,只需关心产品接口。
- 集中管理对象的创建逻辑,便于维护和扩展。
局限:
- 工厂类职责过重,违反开闭原则(新增产品需修改工厂代码)。
- 不适合产品种类过多或创建逻辑复杂的场景。
简单工厂模式适用于以下场景:
通过以上Java源码示例,我们可以清晰理解简单工厂模式的核心思想与实现方式。在实际开发中,可根据需求结合其他创建型模式(如工厂方法模式、抽象工厂模式)进行优化。
如若转载,请注明出处:http://www.w-share.com/product/226.html
更新时间:2025-10-20 01:39:53