我了解到包实际上是用于命名空间的。但在模型树中,我实际上想对我的类进行分组并通过项目的目录结构进行可视化(例如源文件和头文件位于文件系统中)。
现在,代表源文件夹的包与将图表解释为 namespace 之间存在冲突。例如。包“include”和“src”导致这样的 namespace ,这是错误的。
如何解决这个问题?
最佳答案
一个NameSpace
实际上是一个NamedElement
聚合PackageImport
有一个 Package
的。见图。第 7.5 页UML 2.5 的 27 条。
我没有使用太多不同的 UML 工具,所以我目前只能代表 Enterprise Architect 发言。这里可以将包标记为命名空间根。也许其他工具也会做类似的事情。因此,如果您使用包作为命名空间,则很难将它们用于不同的文件夹结构。如果您需要表示这一点,您唯一能做的就是创建一个单独的包结构(最终使用 <<folder>>
等对它们进行原型(prototype)化)。然后您可以根据需要使用嵌套运算符来包含文件。
关于uml - 源文件夹是否有 UML 元素类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53523709/