UML Class 图关系
UML Class Diagram relationships
我对要在我的 class 图表中使用哪些关系存疑。我知道我可以使用一般关联(使用关联行)或更具体的关联,如聚合或组合。我已经知道聚合和组合的定义,但我的问题是:
- 我什么时候需要使用一般关联,什么时候需要使用更具体的关联?
- 有什么规定吗?
起草时,使用未指定的关系。当您开始使诊断更具体时,在其末端写上数字,指定箭头末端,命名末端,在末端放置 shared/composite 菱形和点。
注意 - 聚合可以是:共享、组合或 none。简单地命名共享聚合是一种不好的做法,违反了 UML 标准。
如果您唯一关心的是与 UML 兼容,您可以自由选择使用哪种类型的关联。但是,最佳做法是决定您在项目中使用哪种类型的关联并始终如一地使用它们。
我的建议是使用通用关联和复合聚合,而不是共享聚合。如果一个 class 对其关联的 class 的存在负责(根据复合的定义),则始终使用复合。如果有较弱的一种聚合,就画一个一般的关联。
或者,您可以决定只使用一般关联。如果您的听众不习惯 UML 并且您不想向他们解释更具体的关联形式,则首选此选项。
我对要在我的 class 图表中使用哪些关系存疑。我知道我可以使用一般关联(使用关联行)或更具体的关联,如聚合或组合。我已经知道聚合和组合的定义,但我的问题是:
- 我什么时候需要使用一般关联,什么时候需要使用更具体的关联?
- 有什么规定吗?
起草时,使用未指定的关系。当您开始使诊断更具体时,在其末端写上数字,指定箭头末端,命名末端,在末端放置 shared/composite 菱形和点。
注意 - 聚合可以是:共享、组合或 none。简单地命名共享聚合是一种不好的做法,违反了 UML 标准。
如果您唯一关心的是与 UML 兼容,您可以自由选择使用哪种类型的关联。但是,最佳做法是决定您在项目中使用哪种类型的关联并始终如一地使用它们。
我的建议是使用通用关联和复合聚合,而不是共享聚合。如果一个 class 对其关联的 class 的存在负责(根据复合的定义),则始终使用复合。如果有较弱的一种聚合,就画一个一般的关联。
或者,您可以决定只使用一般关联。如果您的听众不习惯 UML 并且您不想向他们解释更具体的关联形式,则首选此选项。