如何在 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 建模,带有两个 模板参数 例如名为 key 和 value.
假设您希望 class C 的属性 a 是 Dict[A,B]
,所以您有一个 binding 具有 模板参数替换 key -> A
和 value -> B
.
有几种方法可以在 class 图中显示。
例如使用 class DictAB 来建模 Dict[A,B]
:
或者如果您愿意:
但也可以不使用辅助classDictAB而使用绑定表达式[=49=的文本表示](参见 formal/2017-12-05 § 7.3.4 第 26 页):
在 UML class 图中,class 的一个属性的值是一个(类型化的)字典。什么是正确的 UML 类型注释? (方框内;不作为关联。)
例如,在 Python 中,我会用 Dict[A,B]
或 Mapping[A,B]
来注释此属性。我不是在问 Python;这只是有点通用的属性注释的一个例子。我对 UML 不提供与此等效的语言不可知论的可能性持开放态度,但我希望这不是真的。
评论:我问的是通用属性注释,直接用 class 框。我不想在图表中为 Dict
添加单独的 class 框。因此这不是
在 UML 中 Dict 通常作为 模板 class 建模,带有两个 模板参数 例如名为 key 和 value.
假设您希望 class C 的属性 a 是 Dict[A,B]
,所以您有一个 binding 具有 模板参数替换 key -> A
和 value -> B
.
有几种方法可以在 class 图中显示。
例如使用 class DictAB 来建模 Dict[A,B]
:
或者如果您愿意:
但也可以不使用辅助classDictAB而使用绑定表达式[=49=的文本表示](参见 formal/2017-12-05 § 7.3.4 第 26 页):