java包 - 如何处理重复的名称

时间:2017-06-21 18:08:31

标签: java package

将“导出”组织如下是否有意义?不确定它是否足够常见或者是所有推荐的练习。

org.mycompany.export.generic-export-utilities
org.mycompany.productA.export.productA-specific-export-logic
org.mycompany.productB.export.productB-specific-export-logic

1 个答案:

答案 0 :(得分:1)

我认为这是一个很好的问题。

嗯,组织包的好方法是将代码分开“域”。没有应用程序的上下文,很难推荐一个好的包组织。但我会尽力帮助你。

请参阅此示例。您有一个管理学生和客户的系统。组织的好方法:

org.mycompany.student
org.mycompany.student.dto
org.mycompany.student.service
org.mycompany.customer.dto
org.mycompany.customer.service

糟糕的方式#1:

org.mycompany.dto.student
org.mycompany.dto.customer
org.mycompany.service.student
org.mycompany.service.customer

糟糕的方式#2:

org.mycompany.student.dto-student
org.mycompany.student.service-student
org.mycompany.customer.dto-customer
org.mycompany.customer.service-customer

在这两种情况下,我们有一些包名称重复。

所以,回到你的问题,也许这对你更有意义:

org.mycompany.export.utils //I'm outside of the products subpackages, so this means that this is the place for generics utilities
org.mycompany.productA.export //i'm already in the export inside the productA, this organization already show that the classes inside are specific for productA
org.mycompany.productB.export //i'm already in the export inside the productB, this organization already show that the classes inside are specific for productB