包内的Java接口和类组织约定
我已经看过下面的组织,但是我想知道是否有任何关于组织类和接口的约定或有用的建议包内的Java接口和类组织约定,java,package,conventions,Java,Package,Conventions,我已经看过下面的组织,但是我想知道是否有任何关于组织类和接口的约定或有用的建议 [域名][名称] 福 impl(包含具有抽象和具体实现的类) intf(包含接口) 没有硬性规定,您的里程数可能会有所不同 但是,我建议将相关的公共接口和实现代码保留在同一个包中。这样,接口、枚举、常量、工厂类或任何其他需要公开的对象都是public,而实现类可以是大部分或全部private,或者只有包可见。将实现类放在一个单独的包中将迫使某些细节公开,否则就不必公开。我同意;当包括接口在内的整个模块(或大
- [域名][名称]
- 福
- impl(包含具有抽象和具体实现的类)
- intf(包含接口)
- 福
- 没有硬性规定,您的里程数可能会有所不同
但是,我建议将相关的公共接口和实现代码保留在同一个包中。这样,接口、枚举、常量、工厂类或任何其他需要公开的对象都是
public
,而实现类可以是大部分或全部private
,或者只有包可见。将实现类放在一个单独的包中将迫使某些细节公开,否则就不必公开。我同意;当包括接口在内的整个模块(或大部分模块)都在同一个包中时,灵活性会大得多。我最近注意到很多知名的库也这样做(Guava、Jersey、ApacheXYZ等)