UML类图模型:不同包中的相同类

时间:2017-08-07 10:29:19

标签: class uml class-diagram staruml

这个问题是一个纯粹的设计建模

我有两个软件包,并且应该在这些软件包中嵌入了具有相同名称的不同类

如果我在不同的包中有相同的类,

什么是好的设计解决方案

我已经阅读了基于编码的不同解决方案,例如:

1-use" import"包之间的依赖关系以避免冗余类 2 - 在其他包中创建类的实例,从而允许在不同的包中具有相同的名称类 3 - 完全限定其中一个班级名称

您会建议哪种解决方案最好或者告诉我其他好的解决方案吗?

2 个答案:

答案 0 :(得分:3)

当我们使用不同的包时,您可以使用相同的名称。包是命名空间,因此这些类的完全限定名称将是不同的。现在你如何访问这个类取决于你目前在哪个包中。每当你在包含类的包之外(通过导入/访问直接输出),你必须使用完全限定的名称以避免歧义。

如果课程实际上是相同的,您可以:   - 将它放在适合更多的一个包中,并从其他包中简单地访问它(标准方法,可能适用于所有公共类)   - 把它放在其中一个包中(如果它出于某种原因更适合那里)并将其导入另一个包(通过元素或包导入)   - 将其放入附加包(例如Utils)并将其导入两个包中。

选择取决于具体情况。

答案 1 :(得分:2)

如果它是同一个类,你应该在一个包中定义它"重用"它在另一个。

完整的UML建模工具应该能够在另一个包中拖放现有的类。

该工具应该能够表明您正在使用其他包中的类。

enter image description here