<分区>
Possible Duplicate:
How to describe a contained map in UML class diagram?
我想要 UML 图中的 STL MAP 符号。
<分区>
Possible Duplicate:
How to describe a contained map in UML class diagram?
我想要 UML 图中的 STL MAP 符号。
最佳答案
取决于您想要建模的内容和方式。我有很多次只是对包含 map 的类的组合/聚合关系建模到 map 存储元素,并为关系添加一个属性:
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
框重叠。
我会尝试使用您选择的工具对带有 map 的简单代码示例进行逆向工程,然后查看该工具为您生成的内容。如果您不喜欢它,请考虑您可以做些什么来实际提供尽可能多的问题洞察力,以及您可以使用这些工具提供的功能。
关于uml - 如何在 UML 图中表示 STL Map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3682677/