使用JAVA给我设计一个工厂模式
时间: 2024-09-11 20:02:33 浏览: 26
工厂模式是一种创建型设计模式,用于创建对象而不需要暴露创建逻辑给客户端,并且通过使用一个共同的接口来指向新创建的对象。工厂模式通常包括三种类型:简单工厂模式、工厂方法模式和抽象工厂模式。这里,我将向你介绍一个简单工厂模式的设计。
简单工厂模式涉及一个工厂类,它根据提供的参数来决定创建哪个具体的类实例。下面是一个简单的Java实现:
```java
// 定义一个产品的接口
interface Product {
void use();
}
// 实现产品接口的具体产品A
class ConcreteProductA implements Product {
public void use() {
System.out.println("使用产品A");
}
}
// 实现产品接口的具体产品B
class ConcreteProductB implements Product {
public void use() {
System.out.println("使用产品B");
}
}
// 工厂类
class ProductFactory {
// 静态工厂方法,根据传入的参数决定创建哪个产品的实例
public static Product createProduct(String type) {
if ("A".equals(type)) {
return new ConcreteProductA();
} else if ("B".equals(type)) {
return new ConcreteProductB();
} else {
throw new IllegalArgumentException("未知产品类型");
}
}
}
// 客户端代码
public class Client {
public static void main(String[] args) {
// 创建产品A的实例
Product productA = ProductFactory.createProduct("A");
productA.use();
// 创建产品B的实例
Product productB = ProductFactory.createProduct("B");
productB.use();
}
}
```
在这个例子中,`Product` 是一个产品接口,有两个实现类 `ConcreteProductA` 和 `ConcreteProductB`。`ProductFactory` 类提供了一个静态工厂方法 `createProduct`,根据传入的参数来创建 `Product` 接口的不同实现类实例。客户端代码 `Client` 中不需要知道具体的实现细节,只需要调用工厂方法并传入相应的参数即可得到相应的产品实例。