java - 如何将Java库源分成两 block ,保留一个包?

标签 java android

我们正在创建一个用于 Android 的 Android 库。这意味着类似 Eclipse 的 IDE 和类似 Ant 的构建过程。

该库的本质是它有两个不同的部分,代表不同的抽象级别 - 比方说“上层”和“下层”。

假设,为了解决这个问题,我们需要从一个部分调用另一部分的方法,但希望对库用户隐藏这些方法。我已经搜索了常用的引用资料,但它们都停留在解释包名称约定和范围规则的地方。不过,我没能找到任何可以回答这个问题的东西,this很有用。

直接的解决方案是将所有内容都放在一个包中,并将这些方法设为包私有(private)。但是,出于可维护性、清晰度和一个文件夹中不包含 100 个文件的原因,我们更愿意将各个部分拆分到不同的文件夹中。

明显的分割点是将(比方说“wibble”)包分割为 com.me.wibble.uppercom.me.wibble.lower 包/folders,但这使得任何互连方法都被公开。作为缓解措施,可以使用 @hide 将它们隐藏在 javadoc 中。

另一个想法是我们是否可以在顶层拆分部分,而不是经典的 /main/test 文件夹有 /upper/lower/test 以及所有部分共享相同的 com.me.wibble 命名空间。我不确定 Eclipse 是否/如何处理这个问题。

是否有常规方法可以做到这一点,或者只是没有这样做?如果有办法的话,有哪些优点和缺点?

最佳答案

嗯……有时候,与其寻求解决方案,不如提出问题。为什么您希望图书馆用户拥有受限的 View 可能会产生比 HOWTO 更好的答案。有几个我想到但没有给出的答案,因为我不知道问题背后的动机(我不想用不适用的答案浪费您的时间)。

/upper,/lower/,/test 并不会让你的情况变得更好。它只会使项目更有组织性。无论它们都在同一个文件夹中还是单独存在,都不会产生太大影响。

听起来您需要为图书馆用户提供公共(public)“界面”,同时拥有供您自己使用的私有(private)“界面”。这可以通过黑客攻击实现,但如果这是大量预先存在的代码集合,则可能会很痛苦。

关于java - 如何将Java库源分成两 block ,保留一个包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19571855/

相关文章:

java - android MediaPlayer 中的原始问题

android - 带有 ArrayAdapter 的 Anko DSL

java - 在 Maven 存储库中查找 Oracle JDBC 驱动程序

Java:如何表示图形?

java - SAX 解析器不接受返回的 XML 数据

java - Android - 与上下文相关的 SharedPreferences 错误

android - 如何在 Swift 中新建一个类型为其他类的参数?

android - Facebook SSO、Android 和针对 Google App Engine 的身份验证

java - 用于控制和监控的简单中间件服务器

android - 如何灵活地将数据保存到sharedpreference中