抽象工厂模式:选择产品簇的实现

简介: 抽象工厂模式的本质是选择产品簇的实现

场景分析
(1)组装电脑中的场景问题
就是CPU对象与主板对象存在对应关系,需要相互匹配。简单工厂和工厂方法并没有解决对象之间关联关系问题,它们所关注的只是单个产品对象的创建。
image.png
(2)访问不同的数据库(抽象工厂模式和DAO)
DAO用于解决访问数据对象的问题(数据源不同、存储方式不同、访问方不同、厂商不同Oracle或MySQL),DAO层需要抽象和封装所有对数据的访问,DAO层承
担和数据仓库交互的职责。
DAO层存储实现方式不固定时,需要DAO支持多种存储实现方式,一般就要用抽象工厂模式来实现DAO。
image.png
定义及本质
定义:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。
本质:选择产品簇的实现。
结构示意图:
image.png

UML类图
image.png

调用时序图
image.png

优缺点
(1)优点
分离接口和实现:客户端通过抽象工厂创建需要的对象,从具体的产品实现中解耦。
切换产品簇方便:选择不同的工厂实现(==产品簇)。
(2)缺点
不易扩展新的产品:新增一类产品就需要修改抽象工厂;
类的层次复杂化

相关文章
|
SQL Oracle 关系型数据库
C#之三十九 抽象工厂模式
C#之三十九 抽象工厂模式
64 0
|
3月前
|
设计模式 存储 缓存
单例模式与工厂方法模式之间的差异
【8月更文挑战第24天】
48 0
|
3月前
|
设计模式
抽象工厂和原型设计模式之间的区别
【8月更文挑战第22天】
33 0
想象的重要性(抽象工厂)
想象的重要性(抽象工厂)
55 0
|
编译器
简单工厂模式练习:简单工厂模式在农场系统中实现
简单工厂模式练习:简单工厂模式在农场系统中实现。
50 1
|
6月前
|
设计模式 SQL 数据库连接
设计模式之抽象工厂模式--创建一系列相关对象的艺术(简单工厂、工厂方法、到抽象工厂的进化过程,类图NS图)
设计模式之抽象工厂模式--创建一系列相关对象的艺术(简单工厂、工厂方法、到抽象工厂的进化过程,类图NS图)
|
设计模式 Java uml
全面通透深入剖析工厂方法模式
工厂方法模式主要适用于以下应用场景。 (1)创建对象需要大量重复的代码。 (2)客户端(应用层)不依赖产品类实例如何被创建、实现等细节。 (3)一个类通过其子类来指定创建哪个对象。
123 0
|
设计模式
结构型设计模式分类
结构型设计模式分类
组合模式——统一的公司结构
组合模式——统一的公司结构
|
XML 数据格式
组合模式实例商品类别树
组合模式实例商品类别树
85 0
组合模式实例商品类别树