我正在开发一个由以下模块组成的多模块项目:域、数据库、服务和应用程序。
依赖关系如下:
- 域没有
- 数据库依赖于域
- 服务依赖于数据库和域
- app 应该只依赖域和服务,但现在还依赖于数据库。
应用程序、服务和数据库每个都有一个 modules.kt,其中包含模块提供的所有内容(Koin)。数据库提供存储库的实现,服务提供用例,应用提供视图模型,...
app 必须依赖数据库模块的原因是,当我在我的 app 模块中启动 Koin 时,我可以引用数据库模块。
startKoin(this, listOf(
appModule,
databaseModule,
serviceModule
), logger = AndroidLogger())
我不希望我的应用程序模块仅仅为此而依赖我的数据库模块。然而,我仍然希望每一层都有自己的模块文件。有没有办法声明我的 Koin 服务模块文件依赖于该数据库模块文件?这样我的 Koin 设置反映了我的 gradle 设置。