工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,它属于创建型模式。工厂模式提供了一种创建对象的最佳方式,它将对象的创建与使用分离,使得用户只需要关注产品的使用,而不需要关心产品的创建过程。

工厂模式的特点

  • 封装性:将对象的创建过程封装在工厂类中,用户无需关心具体的创建过程。
  • 扩展性:当需要创建新的产品时,只需添加新的产品类和工厂类,无需修改现有代码。
  • 降低耦合度:工厂类与产品类之间解耦,降低了产品类之间的依赖关系。

工厂模式的实现

以下是一个简单的工厂模式实现示例:

// 产品类
class Product {
    public void use() {
        System.out.println("使用产品");
    }
}

// 具体产品类
class ConcreteProductA extends Product {
    @Override
    public void use() {
        System.out.println("使用产品A");
    }
}

class ConcreteProductB extends Product {
    @Override
    public void use() {
        System.out.println("使用产品B");
    }
}

// 工厂类
class Factory {
    public static Product createProduct(String type) {
        if ("A".equals(type)) {
            return new ConcreteProductA();
        } else if ("B".equals(type)) {
            return new ConcreteProductB();
        }
        return null;
    }
}

// 客户端代码
public class Client {
    public static void main(String[] args) {
        Product product = Factory.createProduct("A");
        if (product != null) {
            product.use();
        }
    }
}

工厂模式的优点

  • 简化对象的创建过程:通过工厂类创建对象,简化了对象的创建过程,使得代码更加简洁易读。
  • 提高代码的扩展性:当需要添加新的产品时,只需添加新的产品类和工厂类,无需修改现有代码。
  • 降低耦合度:工厂类与产品类之间解耦,降低了产品类之间的依赖关系。

扩展阅读

更多关于设计模式的内容,请访问我们的 设计模式教程.

图片展示

产品A

Product_A

产品B

Product_B