抽象工厂模式
1、定义
多个抽象产品类,派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类;每个具体工厂类可创建多个具体产品类的实例。
2、结构图
- 产品类接口:ProductA、ProductB定义两个产品接口
- 产品实现:ProductA1、ProductA2、ProductB1、ProductB2
- 抽象工厂接口:AbstractFactory
- 工厂实现:ConcreteFactory1,ConcreteFactory2
3、代码
(1)产品A接口
public interface ProductA { }
(2)产品B接口‘
public interface ProductB { }
(3)产品A1实现
public class ProductA1 implements ProductA { }
(4)产品A2实现
public class ProductA2 implements ProductA { }
(5)产品B1实现
public class ProductB1 implements ProductB { }
(6)产品B2实现
public class ProductB2 implements ProductB { }
(7)抽象工厂接口
public interface AbstractFactory { public ProductA createProductA(); public ProductB createProductB(); }
(8)抽象工厂1实现
public class ConcreteFactory1 implements AbstractFactory{ @Override public ProductA createProductA() { return new ProductA1(); } @Override public ProductB createProductB() { return new ProductB1(); } }
(9)抽象工厂2实现
public class ConcreteFactory2 implements AbstractFactory { @Override public ProductA createProductA() { return new ProductA2(); } @Override public ProductB createProductB() { return new ProductB2(); } }
4、总结
(1) 一个系统不应当依赖于产品类实例如何被创建、组合和表达的细节,这对于所有形态的工厂模式都是重要的。
(2) 这个系统有多于一个的产品族,而系统只消费其中某一产品族。
(3) 同属于同一个产品族的产品是在一起使用的,这一约束必须在系统的设计中体现出来。
(4) 系统提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于实现。
相关推荐
15抽象工厂模式.zip
java设计模式 抽象工厂模式详解 一张图让你彻底明白抽象工厂模式
介绍的是工厂模式 包括简单工厂模式、工厂方法模式、抽象工厂模式 包括PPT和代码
工厂方法模式和抽象工厂模式的区别,对工厂方法模式和抽象工厂模式做了简单的比较
抽象工厂设计模式抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式
设计模式-抽象工厂模式(讲解及其实现代码)
深入浅出设计模式之抽象工厂模式+工厂方法模式+策略模式实现手机加工厂(加类图)
抽象工厂模式ppt。抽象工厂模式ppt。抽象工厂模式ppt。
设计模式 抽象工厂模式 反射 配置文件 设计模式 抽象工厂模式 反射 配置文件 设计模式 抽象工厂模式 反射 配置文件 设计模式 抽象工厂模式 反射 配置文件 设计模式 抽象工厂模式 反射 配置文件 设计模式 抽象工厂...
1、抽象工厂模式+反射技术 2、抽象工厂模式+简单工厂模式 3、仅仅是抽象工厂模式
设计模式,AbstractFactory,抽象工厂模式
抽象工厂模式抽象工厂模式抽象工厂模式抽象工厂模式抽象工厂模式抽象工厂模式
设计模式--抽象工厂模式实现多数据库连接 设计模式,.net设计模式,抽象工厂
抽象工厂模式.ppt抽象工厂模式.ppt
设计模式 抽象工厂模式 三层架构 设计模式 抽象工厂模式 三层架构 设计模式 抽象工厂模式 三层架构 设计模式 抽象工厂模式 三层架构 设计模式 抽象工厂模式 三层架构 要您一个资源分,也算是对我的尊重,谢谢下载。
通过C++实现了简单工厂模式、工厂模式、抽象工厂模式三大设计模式的经典案例。
抽象工厂模式实现计算器源码,学习C#设计模式。
本文章通俗易懂的对工厂模式进行了讲解,相信您看完这篇文章会对工厂模式有更深入的了解
IOS 设计模式抽象工厂实例Demo IOS 设计 模式 抽象 工厂