类图上的集合

2003年5月12日

假设你有一个包含一个曲目 ArrayList 的专辑类。如何在 UML 类图中显示它?

通常,你不会在类图中将集合显示为一个类。你只需要显示专辑类和曲目类之间的关联。通过在关联上标记一个 * 多重性,你暗示了一个集合在起作用。

这引发了哪个集合的问题。为了严格遵守 UML,你应该始终为你的集合使用一个集合,因为多值属性在 UML 中具有集合语义。要显示一个有序集合,比如列表,你需要将关联标记为 {ordered}。在实践中,大多数人使用列表作为集合(如果没有什么别的,它可以帮助测试)。这也没问题,尽管严格来说,你应该意识到将重复项引入集合。

如果你想显示正在使用一些特殊的集合,那么你可以使用一个原型,比如 <<doubly linked list>>。但是你会发现你很少这样做。