定义:提供接口以创建一组相关/相互依赖的对象,但不需要指明其具体类。
抽象工厂模式创建的不是一个完整产品,而是“产品族”(遵循固定搭配规则的多类产品的实例),得到的结果是:多个不同产品的对象,各产品创建过程对client可见,但“搭配”不能改变。
本质上,抽象工厂模式是把多类产品的工厂方法组合在一起。(工厂方法模式可以看我的另一篇文章)
举例:
抽象产品类:
具体产品类:
抽象工厂类:
具体工厂类:
Client:
定义:提供接口以创建一组相关/相互依赖的对象,但不需要指明其具体类。
抽象工厂模式创建的不是一个完整产品,而是“产品族”(遵循固定搭配规则的多类产品的实例),得到的结果是:多个不同产品的对象,各产品创建过程对client可见,但“搭配”不能改变。
本质上,抽象工厂模式是把多类产品的工厂方法组合在一起。(工厂方法模式可以看我的另一篇文章)
举例:
抽象产品类:
具体产品类:
抽象工厂类:
具体工厂类:
Client: