只有关联和聚合之间的区别以及何时使用它们
Difference between only Association and Aggregation and when to use them
我知道这个问题有很多文章和很多答案,但我真的不明白it.I看了很多答案,但我没有完全理解。我知道什么是关联、聚合、组合。我的问题很简单,仅聚合和关联之间有什么区别以及何时使用它们。我不是在谈论构图。
比如course和student是两个类。现在他们之间是什么关系。是关联还是聚合?
"Aggregation"意思是把东西加在一起。在 UML class 建模的上下文中,它意味着一个 class 是另一个 class 的一部分。要清楚(听起来您已经知道)合成是一种聚合形式——合成只是意味着正在合成的 class 不能存在于 外部 合成 class(也称为"strong aggregation"),而聚合意味着组合可以存在于组合之外(也称为"weak aggregation")。例如,一辆汽车可能聚集了四个轮子,但这些轮子在从汽车上移开后仍然存在(弱形式),而思想不能存在于大脑之外(强形式)。
"Association" 表示两件事以某种方式关联。它的意思无非是在 UML class 建模的上下文中。
鉴于此,"Course" 和 "Student" 之间的关系似乎很明显是一种关联,因为两者都不聚合。当然,这是假设你和我对课程和学生的意思相同。
我知道这个问题有很多文章和很多答案,但我真的不明白it.I看了很多答案,但我没有完全理解。我知道什么是关联、聚合、组合。我的问题很简单,仅聚合和关联之间有什么区别以及何时使用它们。我不是在谈论构图。 比如course和student是两个类。现在他们之间是什么关系。是关联还是聚合?
"Aggregation"意思是把东西加在一起。在 UML class 建模的上下文中,它意味着一个 class 是另一个 class 的一部分。要清楚(听起来您已经知道)合成是一种聚合形式——合成只是意味着正在合成的 class 不能存在于 外部 合成 class(也称为"strong aggregation"),而聚合意味着组合可以存在于组合之外(也称为"weak aggregation")。例如,一辆汽车可能聚集了四个轮子,但这些轮子在从汽车上移开后仍然存在(弱形式),而思想不能存在于大脑之外(强形式)。
"Association" 表示两件事以某种方式关联。它的意思无非是在 UML class 建模的上下文中。
鉴于此,"Course" 和 "Student" 之间的关系似乎很明显是一种关联,因为两者都不聚合。当然,这是假设你和我对课程和学生的意思相同。