查看原文
其他

建模示范视频EA021/预约住院系统试看片段-视频+图片版

潘加宇 UMLChina 2023-06-27
DDD领域驱动设计批评-文集-点击查看>>
购买完整视频,请访问建模示范视频购买页面>>
百度网盘下载试看片段,https://pan.baidu.com/s/1ENqG8CiTYbPgO0J43_OQGw,提取码:umlc
试看视频

图片版

3月17-20晚剔除“伪创新”的领域驱动设计-网络公开课

UMLChina建模竞赛题大全-题目全文+分卷自测(11套110题)

全程字幕-26套UML+Enterprise Architect/StarUML建模示范视频(202201更新)

《软件方法》书中自测题-题目全文+分卷自测(1-8章)16套111题

CTO也糊涂的常用术语:功能模块、业务架构、用户需求……[20210217更新]

如何选择UMLChina服务

以下为凑原创
如前文所言,不管是Aggregation还是Aggregate,很容易误解成“累计”或“集合”,混同于各种集合类(List、Queue、Stack……)。
其实Eric Evans应该借鉴的是之前面向对象方法学和UML中的"组合(Composition)",然后发明“Composite”和“Composite Root”。
Eric Evans在发明“Aggregate”新式话语时,应该没有意识到这一点。从他在书中用一串葡萄来隐喻“聚合”就可以看出来。

图8-117 摘自Domain-Driven Design: Tackling Complexity in the Heart of Software, Evans E. , 2003
一大串葡萄就算有一亿颗,也只是同一个类“葡萄”的对象集合。若干颗葡萄(数量不得少于煎蛋的2倍)、两个煎蛋、一根油条、一杯豆浆、若干张纸巾,再加一把叉子,组成一份早餐,这个才是有意义的“组合”。

图8-118 有意义的聚合/组合
另外,Eric Evans选用这个图片,可能还搞错了另一个知识,不过这个知识不是软件开发知识,而是植物学知识。
植物学上有聚合果(Aggregate Fruit)的概念,如下图

图8-119 摘自百度百科“聚合果”词条
Eric Evans可能想到“Aggregate Fruit”这个术语,觉得葡萄是成串的,以为葡萄是“Aggregate Fruit”,于是把图片放上去了——其实葡萄是单果

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存