查看原文
其他

建模示范视频EA-019/科技创新券系统试看片段-视频+图片版

潘加宇 UMLChina 2024-03-10
购买完整视频,请访问建模示范视频购买页面>>
百度网盘下载试看片段,https://pan.baidu.com/s/1_XHaUnEl9CYbOKnNdUXvSg,提取码:umlc
试看视频

图片版

DDD领域驱动设计批评-文集-点击查看>>

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

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

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

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

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

聚焦最后一公里-UMLChina服务介绍

以下为凑原创
因《设计模式》产生的误解
GoF《设计模式》第1章中有一句被广为流传的话:
Favor object composition over class inheritance.
优先使用对象组合而不是类继承。
这句话常让人误解组合和继承是一个级别的,其实,根据GoF《设计模式》的用词,这句话中的“组合”应该近似于UML中的“关联”。
如图8-109,在GoF《设计模式》中,给出这句话之后,作者接下来讨论了aggregation(聚合)和acquaintance(认识)的区别,并且说acquaintance有时也被称为association(关联)或using(使用)。然而,在后面的内容中,作者把这几个词全部抛弃,一律使用composition。

图8-109 摘自Design Patterns: Elements of Reusable Object-Oriented Software, GammaE , et al. , 1995
根据GoF《设计模式》书中内容猜测,其中用词和UML以及本书的用词的对应关系可能如图8-110。左右对应为:①继承=泛化;②组合≈关联;③认识≈普通关联;④聚合≈聚合+组合。

图8-110 《设计模式》话语和UML话语中的对应
以上仅属推测,而且书中的叙述也是有矛盾的,例如这一句:
Consider the distinction between object aggregation and acquaintance andhow differently they manifest themselves at compile- and run-times.
考虑对象聚合和认识之间的区别,以及它们在编译时和运行时如何不同地展现自己。
这句话好像是在说“聚合”和“认识”在编译时和运行时有所不同,这和图8-110中的对应③和④矛盾。
另外,图8-109的片段中,把association(关联)和using(使用)说成同一个意思,这个也是让人困惑的。using听起来更像是UML话语中的“依赖”。
未咨询作者,网络搜索也没有查到有价值的信息,如果有读者对此有更深入的了解,请不吝指正。
继续滑动看下一个

建模示范视频EA-019/科技创新券系统试看片段-视频+图片版

潘加宇 UMLChina
向上滑动看下一个

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

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