当前位置: 首页 > 产品大全 > 创建型模式之简单工厂模式 Java版源码解析

创建型模式之简单工厂模式 Java版源码解析

创建型模式之简单工厂模式 Java版源码解析

简单工厂模式(Simple Factory Pattern)是一种常用的创建型设计模式,它通过一个工厂类来封装对象的创建逻辑,客户端无需直接实例化具体类,从而降低耦合。以下通过Java源码示例详细解析简单工厂模式的实现。

1. 模式结构

简单工厂模式包含三个核心角色:

  • 抽象产品(Product):定义产品的公共接口。
  • 具体产品(Concrete Product):实现抽象产品接口的具体类。
  • 工厂类(Factory):负责根据输入参数创建并返回具体产品实例。

2. Java源码实现

以下是一个简单的示例,模拟生产不同类型的产品(如汽车)。

步骤1:定义抽象产品接口

public interface Product {
void use();
}

步骤2:实现具体产品类

`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("使用卡车运输货物。");
}
}
`

步骤3:创建工厂类

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);
}
}
}

步骤4:客户端使用示例

`java public class Client { public static void main(String[] args) { // 通过工厂创建产品 Product car = ProductFactory.createProduct("car"); car.use(); // 输出:驾驶轿车出行。

Product truck = ProductFactory.createProduct("truck");
truck.use(); // 输出:使用卡车运输货物。
}
}
`

3. 模式优势与局限

优势:
- 客户端与具体产品解耦,只需关心产品接口。
- 集中管理对象的创建逻辑,便于维护和扩展。

局限:
- 工厂类职责过重,违反开闭原则(新增产品需修改工厂代码)。
- 不适合产品种类过多或创建逻辑复杂的场景。

4. 应用场景

简单工厂模式适用于以下场景:

  • 产品类型较少,且创建逻辑简单。
  • 客户端不需要知道具体产品的类名。
  • 需要统一管理对象的创建过程。

通过以上Java源码示例,我们可以清晰理解简单工厂模式的核心思想与实现方式。在实际开发中,可根据需求结合其他创建型模式(如工厂方法模式、抽象工厂模式)进行优化。

如若转载,请注明出处:http://www.w-share.com/product/226.html

更新时间:2025-10-20 01:39:53

产品大全

Top