这个问题是一个纯粹的设计建模
我有两个软件包,并且应该在这些软件包中嵌入了具有相同名称的不同类
如果我在不同的包中有相同的类,什么是好的设计解决方案
我已经阅读了基于编码的不同解决方案,例如:
1-use" import"包之间的依赖关系以避免冗余类 2 - 在其他包中创建类的实例,从而允许在不同的包中具有相同的名称类 3 - 完全限定其中一个班级名称
您会建议哪种解决方案最好或者告诉我其他好的解决方案吗?
答案 0 :(得分:3)
当我们使用不同的包时,您可以使用相同的名称。包是命名空间,因此这些类的完全限定名称将是不同的。现在你如何访问这个类取决于你目前在哪个包中。每当你在包含类的包之外(通过导入/访问直接输出),你必须使用完全限定的名称以避免歧义。
如果课程实际上是相同的,您可以: - 将它放在适合更多的一个包中,并从其他包中简单地访问它(标准方法,可能适用于所有公共类) - 把它放在其中一个包中(如果它出于某种原因更适合那里)并将其导入另一个包(通过元素或包导入) - 将其放入附加包(例如Utils)并将其导入两个包中。
选择取决于具体情况。
答案 1 :(得分:2)