在类图中,有没有办法指定一个类是另一个类的内部类?
还是将其视为纯粹的实现选择?
考虑使用嵌套关系(在父端的圆圈中带有“+”的线)。
由于 UML 不应该是直接特定于实现的,因此我将使用命名约定,例如:
OuterClass vs OuterClass::InnerClass
我可以想象,如果您希望对 UML 进行逆向工程或代码生成,那么不同的工具将使用不同的技术(如果它们完全支持的话)。
使用 Enterprise Architect (EA v7) 对某些逆向工程进行快速测试,确认它们InnerClass::OuterClass
在处理带有公共内部类的某些 C# 时使用了上述语法。
对于这种事情,您有单独的图表来显示类的内部结构或处理。
通常,那些额外的图表是显示处理的活动图。有时一种方法。您可能还有一个显示 API 交互的内部序列图。
没有理由你不能有一个额外的类图来显示一个类的内部结构。
或者您可以显示被外部类完全包围的内部类,一个矩形在另一个矩形内。