Проект многомодульной чистой архитектуры: заставьте настройки Koin отражать правильные зависимости gradle - PullRequest
0 голосов
/ 28 января 2019

Я занимаюсь разработкой многомодульного проекта, состоящего из следующих модулей: домен, база данных, служба и приложение.

Зависимости следующие:

  • домен не имеет
  • база данных зависит от домена
  • служба зависит от базы данных и домена
  • приложение должно зависеть только от домена и службы, но теперь также зависит от базы данных.
*Каждое приложение, служба и база данных 1014 * имеют файл modules.kt, содержащий все, что предоставляет модуль (Коин).база данных обеспечивает реализацию репозитория, служба предоставляет варианты использования, приложение предоставляет viewmodels, ...

Причина, по которой приложение должно зависеть от модуля базы данных, заключается в том, что при запуске Koin в моем модуле приложенияЯ могу сослаться на базу данных модуля.

startKoin(this, listOf(
    appModule,
    databaseModule,
    serviceModule
), logger = AndroidLogger())

Я не хочу, чтобы модуль приложения зависел от модуля базы данных.Однако я все же хочу, чтобы у каждого слоя был свой файл модуля.Есть ли способ объявить, что мой файл служебного модуля Koin зависит от этого файла модуля базы данных?Таким образом, мои настройки Koin отражают мои настройки gradle.

...