1

我想使用 UML 图对以下代码进行建模:

public class Bar { /* ... */ }
public class Quux { /* ... */ }
public class Foo {
    public Dictionary<Bar, Quux> aField;
}

在组合与聚合的意义上,Foo该类许多Bar/对组成。我应该如何使用 UML 来表示?Quux

我能想到的唯一“正确”的事情是相当麻烦的:

Foo 由 KeyValuePair<Bar, Quux> 组成,与 Bar 为 1-1 关系,与 Quux 为 1-1 关系

但我宁愿有这样的东西:

Foo 由 ... 组成,行分裂,一行到 Bar,另一行到 Quux

我也可以使用在 中显示字段的可能过于明显的解决方案Foo,但是我会丢失组合信息,并且我想要一些视觉上连接的线 FooBar并且Quux

将 Dictionary<Bar, Quux> 字段放在 Foo 中,类之间没有任何线。

4

1 回答 1

0

为什么不能将 Key 和 Value 放在第一个图中?因此,在第一个图中,将顶部的“1”(Bar 旁边)替换为“key”,将 1 next qo Quux 替换为“Value”。

第二个图不正确,因为可以有多个 Bar 和多个 Quux,但数量不必相等;他们之间也没有关系。

于 2013-09-16T09:15:03.010 回答