1

ドメイン、データベース、サービス、アプリの各モジュールで構成されるマルチモジュール プロジェクトを開発しています。

依存関係は次のとおりです。

  • ドメインには何もありません
  • データベースはドメインに依存します
  • サービスはデータベースとドメインに依存します
  • app はドメインとサービスのみに依存する必要がありますが、データベースにも依存するようになりました。

アプリ、サービス、およびデータベースにはそれぞれ、モジュールが提供するすべてのもの (Koin) を含む modules.kt があります。データベースはリポジトリの実装を提供し、サービスはユースケースを提供し、アプリはビューモデルを提供します...

アプリがデータベース モジュールに依存しなければならない理由は、アプリ モジュールで Koin を起動するときに、データベース モジュールを参照できるようにするためです。

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

そのためだけに、アプリ モジュールをデータベース モジュールに依存させたくありません。ただし、すべてのレイヤーに独自のモジュールファイルが必要です。Koin サービス モジュール ファイルがそのデータベース モジュール ファイルに依存していることを宣言する方法はありますか? そうすれば、私の Koin セットアップは私の gradle セットアップを反映します。

4

0 に答える 0