-
简单工厂模式(又称静态工厂模式):定义一个创建对象的类,由这个类来封装实例化对象的行为。
-
简单工厂模式应用场景:当我们需要根据传入的参数来动态创建对象时,可以使用简单工厂模式。
-
简单工厂模式的角色:
-
工厂类(Creator):负责创建产品的类。在简单工厂模式中,工厂类提供了一个静态方法,根据传入的参数来创建不同的产品对象。
-
产品类(Product):由工厂类创建的对象。
-
-
示例代码:
// 产品接口 interface Product { void display(); } // 具体产品 A class ConcreteProductA implements Product { @Override public void display() { System.out.println("This is product A."); } } // 具体产品 B class ConcreteProductB implements Product { @Override public void display() { System.out.println("This is product B."); } } // 简单工厂类 class SimpleFactory { // 根据类型创建具体产品对象 public static Product createProduct(String type) { switch (type) { case "A": return new ConcreteProductA(); case "B": return new ConcreteProductB(); default: throw new IllegalArgumentException("Unsupported product type."); } } } // 客户端代码 public class Main { public static void main(String[] args) { // 使用简单工厂创建产品 Product productA = SimpleFactory.createProduct("A"); Product productB = SimpleFactory.createProduct("B"); // 调用产品方法 productA.display(); // Output: This is product A. productB.display(); // Output: This is product B. } }
在上面的代码中,我们定义了一个
SimpleFactory
工厂类,它提供了一个静态方法createProduct()
,根据传入的参数来创建不同的产品对象。我们还定义了两个产品类ConcreteProductA
和ConcreteProductB
,它们都实现了display()
方法。最后,我们使用工厂类创建了两个产品对象productA
和productB
,并调用了它们的display()
方法。
另:
简单工厂模式不属于 23 中设计模式,它是工厂模式的一种变种。
简单工厂模式违反了开闭原则,如果需要增加对象实例的返回,就必须修改工厂类的代码逻辑。
开闭原则:对修改关闭,对扩展开放。要增加一个新的逻辑,可以新加一个类,但不要在原有类的基础上修改。
标签:Product,模式,display,简单,工厂,public From: https://www.cnblogs.com/Higurashi-kagome/p/17478811.html主要内容来自:ChatGPT