我们正在创建一个用于Android的安卓库。这意味着类似Eclipse的IDE和类似Ant的构建过程。
图书馆的本质是它有两个不同的部分,代表不同的抽象层次 - 让我们说'上'和'下'。
为了这个问题的目的,假设我们需要从一个部分调用另一个部分的方法,但是希望保持这些方法对库用户隐藏。我已经搜索了通常的引用,但它们都停止在解释包名称约定和范围规则时。 3}}虽然this很有用,但我没有在SO上找到任何可以解答此问题的内容。
直接的解决方案是简单地将所有内容放在一个包中,并将这些方法设置为包私有。但是,出于可维护性,清晰度和不具有100个文件的文件夹的原因,我们更愿意将这些部分拆分为不同的文件夹。
明显的分裂点是将(例如'wibble')包拆分为com.me.wibble.upper
和com.me.wibble.lower
包/文件夹,但这会使任何互连方法不受欢迎地公开。在缓解中,他们可以通过@hide隐藏在javadoc中。
另一个想法是,我们是否可以在顶级拆分部分而不是经典的/main
和/test
文件夹包含/upper
,/lower
和{{1}并且所有部分共享相同的/test
命名空间。我不确定Eclipse是否会如何处理这个问题。
有没有传统方法可以做到这一点,还是只是没有做到?如果有方法,那么专业人士和骗子是什么?
答案 0 :(得分:0)
/ upper,/ lower /,/ test不会让你的情况变得更好。它只是使项目更有条理。无论它们是在同一个文件夹中还是分开,都不会产生太大影响。
听起来你需要为图书馆用户提供公共“接口”,同时拥有供你自己使用的私人“接口”。这可以通过黑客攻击实现,但如果这是一个庞大的预先存在的代码集,则可能会很痛苦。