Android模块私有类/模块Api

时间:2018-04-10 13:56:18

标签: java android

我正在用android中的模块做一个项目,并且在每个模块中我都有子包与它们各自的实体,存储库等。要处理这个包中的访问,我必须使用公共类,这样就可以访问其他模块。我需要一个类/包作为API,可以从其他模块访问并隐藏内部实现。 我不知道java是否允许这个?我怎么能这样做?

感谢

1 个答案:

答案 0 :(得分:0)

  

从其他模块访问并隐藏内部实现

是的。将API解压缩到接口,然后使用低于公共接口的可见性修饰符定义该接口的实现。通过模块的init方法隐藏该接口到具体实现的绑定。将此init方法也公开给您的模块。

使用依赖项注入或服务定位器模式,您可以从调用方模块请求实现此接口。通常,在更复杂的应用程序中,您希望使用它的依赖注入。在这种情况下,需要在接口和具体实现之间绑定工厂方法。

如果您正在使用带有Java的依赖注入库,那么您可能会考虑使用@Bind@Provides方法分别实现此布线和配置。