匕首2:将依赖项注入其他Android模块

时间:2019-07-29 18:33:00

标签: java android dependency-injection module dagger-2

我有一个相当大的应用程序,由几个模块组成:repofilebrowser,等等。

虽然filebrowser取决于repo,但情况并非相反。

现在,我想将对Repository中的类repo的依赖项注入到ViewHolder中的filebrowser中。该Repository对象应该与在模块{{1}中的RepoAccessApplication中创建的对象相同,并且也将被注入到其他模块中。

我无法将repo中的组件注入repo中,因为这将需要ViewHolder依赖于repo

同时,我无法在filebrowser中创建自己的组件,因为这将违背单例的目的(我也需要在其他模块中注入相同的filebrowser对象)< / p>

我已经简要了解了子组件,但似乎需要向父组件注册它们,这又需要Repository依赖于repo

即使没有丑角,我想做的事情也是可能的。它需要在filebrowser中创建Repository对象,然后使用RepoAccessApplication中的一个活动将其(通过2个嵌套适配器和另一个filebrowser)传递给{{1} }实际需要它。

我现在的问题是,使用Dagger是否可以更优雅地实现这一目标。

我在Dagger和DI方面的经验仅限于6到8个在线教程。我掌握了一些基本知识并开始运行,并对模块,组件和作用域以及功能和构造类中的部门有一个简要的了解。除此之外,我是绝对的初学者。

编辑

当前的解决方案是坚持使用静态引用,而完全忽略DI。该代码看起来很干净,尽管在可测试性方面不是很好。

0 个答案:

没有答案
相关问题