And*_*dna 48 uml associations aggregation
我在这里,关于聚合和关联的另一个问题.我想学习一些UML的基础知识,所以我开始阅读Martin Fowler撰写的"UML精简版".我阅读了关于课程的两章,有一件事我想不到,那就是聚合与关联.在这本书中有这样的引用:
在UML之前的日子里,人们通常对聚合和关联是相当模糊的.无论是否含糊,它们总是与其他人不一致.因此,尽管出于不同的原因,许多建模者认为聚合很重要.因此UML包含聚合(图5.3),但几乎没有任何语义.正如Jim Rumbaugh所说,"把它想象成一个建模安慰剂" [Rumbaugh,UML Reference].
正如我从Stack Overflow上的这个引用和主题中所理解的那样,我使用这两个关系中的哪一个并不重要,它们的意思相同,或者是否有任何使用聚合而不是关联的情况是合理的和/或我不能改变一个到另一个而不改变类图的"含义"?
我问这个,因为这本书是从2003年开始的,有些事情可能会在这几年内发生变化.
Cha*_*Mic 29
也许这可以帮到你,但我认为你不会找到完美的解释:
差异是暗示之一.聚合表示整体/部分关系,而关联则不表示.但是,这两种关系的实施方式可能不会有太大差异.也就是说,查看代码并确定特定关系是否应该是聚合或关联是非常困难的.因此,完全忽略聚合关系是非常安全的.
[Robert C. Martin | UML]
以及每种情况的一个例子:
a)关联是一种关系,其中所有对象都有自己的生命周期,并且没有所有者.让我们举一个教师和学生的例子.多个学生可以与单个教师相关联,单个学生可以与多个教师相关联,但是对象之间没有所有权,并且两者都有自己的生命周期.两者都可以独立创建和删除.
b)聚合是一种特殊的关联形式,其中所有对象都有自己的生命周期,但是所有权和子对象不能属于另一个父对象.让我们举一个部门和老师的例子.单个教师不能属于多个部门,但如果我们删除部门,教师对象将不会被销毁.我们可以考虑"有一个"的关系.
[Maesh | GeeksWithBlogs]