为什么我们需要在 class 图中使用关联(多重性)?
Why do we need to use association(multiplicity) in class diagrams?
在我的应用程序中,我一直在使用 class 图。基本上,我已经为业务逻辑绘制了 class 个图表。 Hibernate 用作数据访问层。在 class 图的大多数示例中,我注意到 class 图中考虑了关联(多重性)。
我没有看到在 class diarms 中使用 association(multiplicity) 的任何特殊原因,因为我们无法在 class 上实现它。任何人都可以解释为什么我们需要与示例关联吗?
(binary) 关联和属性在 UML 中或多或少是一回事。您可以选择使用 Association 或 Attributes 或两者的混合来建模。
我经常在属性的类型是 DataType 时使用属性,而在另一端的类型是 "regular" class 时我经常使用关联。我在我的网站上记录了这个最佳实践:UML Best Practice: Attribute or Association
使用关联的优点是它以更直观的方式显示关系,使关系通常比属性更明显。
如果多重性不会为模型添加有价值的信息,您可以随意省略它。但是,有些情况与您的模板不同,您需要对显式多重性进行建模。大多数情况下,您会发现 0..1
(表示可选关系)、0..*
(任意数量的关系)和 1..*
(一个或多个)。例如。对于一个工作的人来说,它可能有 0..1
个老板。一个人可能有0..*
children。而且应该有 1..*
个朋友 ;-)
如您所见,是否要使用多重性取决于域。
在我的应用程序中,我一直在使用 class 图。基本上,我已经为业务逻辑绘制了 class 个图表。 Hibernate 用作数据访问层。在 class 图的大多数示例中,我注意到 class 图中考虑了关联(多重性)。
我没有看到在 class diarms 中使用 association(multiplicity) 的任何特殊原因,因为我们无法在 class 上实现它。任何人都可以解释为什么我们需要与示例关联吗?
(binary) 关联和属性在 UML 中或多或少是一回事。您可以选择使用 Association 或 Attributes 或两者的混合来建模。
我经常在属性的类型是 DataType 时使用属性,而在另一端的类型是 "regular" class 时我经常使用关联。我在我的网站上记录了这个最佳实践:UML Best Practice: Attribute or Association
使用关联的优点是它以更直观的方式显示关系,使关系通常比属性更明显。
如果多重性不会为模型添加有价值的信息,您可以随意省略它。但是,有些情况与您的模板不同,您需要对显式多重性进行建模。大多数情况下,您会发现 0..1
(表示可选关系)、0..*
(任意数量的关系)和 1..*
(一个或多个)。例如。对于一个工作的人来说,它可能有 0..1
个老板。一个人可能有0..*
children。而且应该有 1..*
个朋友 ;-)
如您所见,是否要使用多重性取决于域。