【问题标题】:Java interface and class organization convention within packages包中的 Java 接口和类组织约定
【发布时间】:2014-01-27 05:29:11
【问题描述】:

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

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

【问题讨论】:

    标签: java package conventions


    【解决方案1】:

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

    但是,我建议将相关的公共接口和实现代码放在同一个包中。这样,接口、枚举、常量、工厂类或其他任何需要公开可用的东西都是public,而实现类可以大部分或完全是private,或者只有包可见。将实现类放在一个单独的包中会强制将一些细节设置为public,否则这些细节不必暴露。

    【讨论】:

    • 我同意;当整个模块(或大部分模块)(包括接口)在同一个包中时,灵活性会大得多。我最近注意到很多知名库也这样做(Guava、Jersey、Apache xyz 等......)
    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    相关资源
    最近更新 更多