抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一种方式来封装一组具有相同主题的单个工厂。该模式的主要目的是为客户端提供一个接口,用于创建相关或依赖对象的家族,而不需要指定它们具体的类。
抽象工厂模式的实现步骤
- 定义抽象产品:首先定义一系列抽象产品接口,这些接口将由具体的产品类实现。
- 创建具体产品:针对每个抽象产品,创建具体的产品类实现这些接口。
- 定义抽象工厂:定义一个抽象工厂接口,声明一组用于创建抽象产品的方法。
- 实现具体工厂:针对每组相关的产品,创建一个具体工厂类实现抽象工厂接口,负责实例化具体产品。
- 使用工厂:客户端通过抽象工厂接口与系统交互,从而创建所需的具体产品对象。
示例代码
以下是一个简单的Java示例:
// 抽象产品A
public interface AbstractProductA {void operationA();
}// 具体产品A1
public class ConcreteProductA1 implements AbstractProductA {public void operationA() {System.out.println("ConcreteProductA1 operation");}
}// 具体产品A2
public class ConcreteProductA2 implements AbstractProductA {public void operationA() {