我的“干净架构”Android 应用程序中有 3 个 gradle 模块:“数据”、“域”和“演示”。'data' 和 'presentation' 都依赖于 'domain',但不相互依赖。'presentation' 保存应用程序类的实现,而 'data' 保存一些存储库单例的实现。
我想使用 Dagger 2 在应用程序中实例化存储库,但在这种情况下,我需要在“数据”和“演示”之间建立间接的 gradle 依赖关系。从 Clean 架构的角度来看,这种依赖关系看起来很丑陋,这使得从“表示”访问“数据”成为可能。将 Dagger 组件和模块代码放在单独的 gradle 模块 'di' 中会创建循环 gradle 依赖项 'data' -> 'di' -> 'data'。
是否有适当的方法将所有 DI 代码移动到单独的模块中?