我们正在创建一个用于 Android 的 android 库。这意味着类似 Eclipse 的 IDE 和类似 Ant 的构建过程。
库的本质是它有两个不同的部分,代表不同的抽象级别——比如说“上层”和“下层”。
假设,出于这个问题的目的,我们需要从另一个部分调用方法,但希望对库用户隐藏这些方法。我已经搜索了常用的参考资料,但它们都停留在解释包名称约定和范围规则的地方。尽管这很有用,但我没有找到任何可以回答这个问题的方法。
直接的解决方案是将所有内容简单地放在一个包中,并将这些方法设为包私有。但是,出于可维护性、清晰性和一个文件夹中没有 100 个文件的原因,我们更愿意将这些部分拆分到不同的文件夹中。
明显的拆分点是将(假设是“wibble”)包拆分为com.me.wibble.upper
包com.me.wibble.lower
/文件夹,但这会使任何互连方法不受欢迎。为了缓解问题,可以使用 @hide 将它们从 javadoc 中隐藏起来。
另一个想法是我们是否可以在顶层拆分部分而不是经典/main
和/test
文件夹/upper
,/lower
并且/test
所有部分共享相同的com.me.wibble
命名空间。我不确定 Eclipse 是否/如何应对。
有没有传统的方法可以做到这一点,或者只是没有这样做?如果有办法,优点和缺点是什么?