如何在 UML 中为字典添加简单的通用类型注释?

How can I add a simple generic type annotation for a dictionary in UML?

在 UML class 图中,class 的一个属性的值是一个(类型化的)字典。什么是正确的 UML 类型注释? (方框内;作为关联。)

例如,在 Python 中,我会用 Dict[A,B]Mapping[A,B] 来注释此属性。我不是在问 Python;这只是有点通用的属性注释的一个例子。我对 UML 不提供与此等效的语言不可知论的可能性持开放态度,但我希望这不是真的。

评论:我问的是通用属性注释,直接用 class 框。我不想在图表中为 Dict 添加单独的 class 框。因此这不是

的副本

在 UML 中 Dict 通常作为 模板 class 建模,带有两个 模板参数 例如名为 keyvalue.

假设您希望 class C 的属性 aDict[A,B],所以您有一个 binding 具有 模板参数替换 key -> Avalue -> B.

有几种方法可以在 class 图中显示

例如使用 class DictAB 来建模 Dict[A,B] :

或者如果您愿意:

但也可以不使用辅助classDictAB而使用绑定表达式[=49=的文本表示](参见 formal/2017-12-05 § 7.3.4 第 26 页):