设计模式-抽象工厂模式

抽象工厂:提供一个接口,可以创建一系列相关或者相互依赖的对象,而无需制定他们具体的类

(个人建议先看完上文的简单工厂:抽象工厂是在简单工厂的基础上对比出来的设计模式-工厂模式-CSDN博客)

详细UML类图

写代码的时候,我们先 回忆 一下 工厂方法模式,工厂方法只有一个抽象父工厂,只有一个 父产品。所以先获取工厂实例后,通过工厂实例对象来决定 获取具体的产品。(所以也就是说 子类实实例化被延迟了)。

我们的现在的需求是:用瓶子来装可乐,可能是塑料瓶子,也可能是 玻璃瓶子。

具体的代码:

可乐(Cola)

-- 可乐可乐(CocaCola)

-- 百事可乐 (PesiCola)

可乐瓶子(ColaBox)

-- 玻璃瓶子(GlassBox)

-- 金瓶子 (GoldBox)

相关推荐
bigbread3 小时前
策略模式 + 工厂方法模式在项目中的实战应用
设计模式
高晶3 小时前
C 语言实现 BMS 系统中 SPI 通信协议实战指南
设计模式·程序员
代钦塔拉3 小时前
【C++/Qt 进阶】设计模式系列(2):工厂模式——从游戏角色到披萨店
c++·算法·设计模式
高晶5 小时前
2A3 单端甲类功放从零制作全攻略:电路设计、焊接调试到煲机维护一站式指南
前端·设计模式
代钦塔拉7 小时前
【C++/Qt 进阶】设计模式系列(4):原型模式——用“克隆“代替“重新构造“
c++·qt·设计模式
博风9 小时前
11、设计模式应用举例:迭代器模式:使用多个集合存储对象
设计模式·迭代器模式
日和雫1 天前
面向对象与面向过程,谁才是“银弹”?
设计模式
geovindu1 天前
rust: Iterator Pattern
开发语言·后端·设计模式·rust·行为模式·迭代器模
高晶2 天前
ARM 嵌入式 Linux 系统启动流程实战指南
设计模式·程序员
高晶2 天前
BMS 通信开发实战:从 PMBus 协议到数据采集的完整指南
设计模式·程序员