Dependency, Association, Aggregation & Composition

uml

最初学习 UML 是五、六年前,没记错的话应该是大三,这门功课结束以后,也就是在毕业设计时涉及到了其中的知识,毕业以后很长的时间里,一直没有在工作场合中加以应用。刀子不用了就会生锈,知识不用了就会遗忘,最近再设计某一应用的 Class Diagram 时,发现已经分不清类图中的几个关系的区别了。

Class Diagram 体现 Class 之间的关系,最为常见的,也是最简单的两种关系分别是 Generalization 和 Realization,余下的还有四种,分别是:Dependency, Association, Aggregation, Composition。这里我之所以坚持使用英语名称,不是我显摆英语好(其实很差劲),是因为我无法理解组合(Composition)和聚合(Aggregation)的差异,毕竟 UML 三友的母语是英语,这些术语也是经过深思熟虑的,译成中文以后,理解起来会有偏差。

[ Read More » ]