回答
您可以将其视为原生数据类型。大多数时候没有理由做其他事情。
这里没有“正确”或“错误”。唯一的问题是什么让这个架构更容易被团队理解。
我完全同意。像UML这样的标准试图定义一套标准规则,使其更容易解释架构(作为一种良好实践或常识的集合)。但最终,你的团队必须理解它,如果需要偏离标准来使其更清晰,则不需要遵守标准。 (我刚刚意识到:如果我们都会坚持计算机历史上的标准,那么我们仍然会使用Cobol)。 – Patrick 2010-09-10 06:51:29
取决于你想要的模型和方式。我有很多次只是仿照包含地图的地图存储的元素之类的成分/聚合关系,并添加到关系的属性:
class MyEnclosingType {
std::map<int,MyEnclosedType*> m_map;
};
MyEnclosingType <>-------------------------- MyEnclosedType
<<map>>
根据您正在使用,一些不承认它的工具。例如BoUML,IIRC,会自动绘制与此类似:
MyEnclosingType <>-------------------------- MyEnclosedType
^
|
| << bind Key=int >>
|
map
我不认为这是完全一样的,但不知何故相似。最后,UML是人们阅读的工具,而不是电脑。如果你确实相信代码生成(好运),那么问题是你需要用什么奇怪的构造来为你的软件理解你的意图。
的一些其他工具将有STL或允许您添加参数化类型,你可以用它来表示同一代码:
Key=string
Value=MyEnclosedType
MyEnclosingType <>-------------------------- map
如果双方MyEnclosingType
和map
将通过实线框包围,并Key
和Value
将由与其他参数化类型重叠的不连续框来表示map
框。
我会尝试使用您选择的工具反向设计带有地图的简单代码示例,并查看该工具为您生成的内容。如果你不喜欢它,只要想一想你可以做些什么来真正提供问题的洞察力,以及你可以使用的工具。
- 1. 如何显示在UML ER图表
- 2. 如何在UML类图中表示报表
- 3. 如何从表中生成UML图表
- 4. 在UML通信图中表示循环
- 5. 显示地图STL
- 6. 如何在UML类图中表示模式的实现?
- 7. UML图表选择
- 8. 以表格形式打印STL地图
- 9. UML序列图内部类表示
- 10. UML用例图系统表示
- 11. UML - 如何管理大类图表?
- 12. 您如何在Haskell中表示图表?
- 13. 如何在UML类图中描述包含的地图?
- 14. UML类图的文本表示 - 用于UML的DSL
- 15. UML图表多功能
- 16. 来表示UML
- 17. 如何用UML序列图表示听众
- 18. UML类图 - 我如何表示不同的“报告”类?
- 19. 如何以图形方式表示UML用例扩展点?
- 20. 在STL地图和列表中的某些问题,使用C++
- 21. 将图表表示为地图标记 - HERE地图
- 22. 钻石标志在UML类图中表示什么?
- 23. 在UML类图中表示C#访问器属性?
- 24. STL地图本身?
- 25. STL ::地图问题
- 26. STL地图和C++
- 27. 递归stl地图
- 28. STL地图制作
- 29. 如何在UML类图表中使用extern类建模继承?
- 30. 如何在UML中表示用户的不同角色用例图?
已经在这里提出并回答:http://stackoverflow.com/questions/1192606/how-to-describe-a-contained-map-in-uml-class-diagram/9510155#9510155 – 2012-03-09 23:59:06