Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包内的Java接口和类组织约定_Java_Package_Conventions - Fatal编程技术网

包内的Java接口和类组织约定

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

我已经看过下面的组织,但是我想知道是否有任何关于组织类和接口的约定或有用的建议

  • [域名][名称]
      • impl(包含具有抽象和具体实现的类)
      • intf(包含接口)

    • 没有硬性规定,您的里程数可能会有所不同


      但是,我建议将相关的公共接口和实现代码保留在同一个包中。这样,接口、枚举、常量、工厂类或任何其他需要公开的对象都是
      public
      ,而实现类可以是大部分或全部
      private
      ,或者只有包可见。将实现类放在一个单独的包中将迫使某些细节公开,否则就不必公开。

      我同意;当包括接口在内的整个模块(或大部分模块)都在同一个包中时,灵活性会大得多。我最近注意到很多知名的库也这样做(Guava、Jersey、ApacheXYZ等)