問題タブ [koin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1667 参照

kotlin - Koin 依存性注入 (Kotlin) を使用して、特定の型に一致するすべてのインスタンスを取得する方法

Koin DI を使用して次のことをどのように達成しますか。

すべてのバリデーターを注入したいクラスでは、次を使用します。

インターフェイスのすべての異なる実装がIValidator自動的に注入されることを期待しています。

私はそれが実際にKodeinでサポートされていることを知っています.

val validators: List<IValidator> by kodein.allInstances()

これが Koin 内で可能かどうか知りたいです。

ありがとう!

0 投票する
0 に答える
511 参照

android - マルチモジュールのクリーン アーキテクチャ プロジェクト: Koin のセットアップに適切な gradle 依存関係を反映させる

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

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

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

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

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

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

0 投票する
1 に答える
1265 参照

android - Gradle の依存関係が依存モジュールと共有されていない

環境

私のプロジェクトには 2 つのモジュールがあります。

  • Java/Kotlin モジュールcommon
  • Android/Kotlin モジュールapp

common依存性注入のための Kotlin ライブラリである Koin に依存します

使用例:

appAndroid コードに何も注入する必要がないため、Koin ライブラリに依存しません。すべての注入は共通コード (プレゼンター、インターセプターなど) 内にあります。

しかし、app依存しcommonます:

使用例:


問題

をコンパイルできcommon、単体テストを実行できますcommonが、コンパイルしようとすると次のappエラーが発生します。

次のクラスのスーパータイプは解決できません。クラスパスに必要な依存関係があることを確認してください: class xxx.common.presenter.MyPresenter、未解決のスーパータイプ: org.koin.standalone.KoinComponent

私が走るとき./gradlew :app:dependencies

依存関係はruntime構成内にありますが、構成から欠落していcompileます。


私がこれまでに試したこと:

明らかに、Koin の依存関係を宣言したくないappので、いくつかのことを試しました。

の Koin 依存関係を変更api:

動作しません- とまったく同じ依存関係ツリーが得られimplementationます。

プロジェクトの依存関係の構成を変更します。

機能していませんcommon- これについてはよくわかりませんでしたが、構成で依存関係が得られることを望んでいましたcompile

の Koin 依存関係を変更compile:

働く!依存関係が に表示され、debugCompileClasspathを実行できますapp


質問

今私は混乱しています:

  • Koinappは直接使用しないので、依存関係は必要ないと思います。なぜですか?の静的型が でMyPresenterあるからKoinComponentですか?
  • apideprecated と同じだと思いましたcompile。そうではないようです。
  • deprecated を使用する以外に別の方法はありcompileますか?
0 投票する
1 に答える
2453 参照

android - プライベートパラメーターを持つKoinシングルトン注入コンストラクター

こんにちは、私はちょうど Koin を学んでいます。この Dagger2 クラスは、Koin 2.0 でどのように提供されますか?

私はこれを試しました:

AppExecutors.MainThreadExecutor()プライベートですが。それを公開する唯一の解決策はありますか?