在Java中,简单工厂模式可以通过以下步骤实现:
- 首先创建一个接口,表示产品的抽象类,其中定义了产品的一些共同的方法。
public interface Product { void use(); }
- 实现产品接口的具体产品类,它们实现了产品接口中的方法。
public class ConcreteProductA implements Product { @Override public void use() { System.out.println("使用具体产品A"); } } public class ConcreteProductB implements Product { @Override public void use() { System.out.println("使用具体产品B"); } }
- 创建一个工厂类,用于生产产品对象。工厂类中通常包含一个静态方法,根据传入的参数来实例化具体的产品对象。
public class SimpleFactory { public static Product createProduct(String type) { if (type.equalsIgnoreCase("A")) { return new ConcreteProductA(); } else if (type.equalsIgnoreCase("B")) { return new ConcreteProductB(); } else { throw new IllegalArgumentException("Invalid product type: " + type); } } }
- 在客户端代码中,通过调用工厂类的静态方法来获取具体产品对象。
public class Client { public static void main(String[] args) { Product productA = SimpleFactory.createProduct("A"); productA.use(); Product productB = SimpleFactory.createProduct("B"); productB.use(); } }
上述代码中,创建了一个简单工厂类SimpleFactory,通过调用createProduct方法,传入不同的类型参数来创建具体的产品对象。客户端代码只需要调用SimpleFactory的静态方法即可获取具体产品对象,并调用其方法进行使用。