問題タブ [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.
kotlin - Koin 依存性注入 (Kotlin) を使用して、特定の型に一致するすべてのインスタンスを取得する方法
Koin DI を使用して次のことをどのように達成しますか。
すべてのバリデーターを注入したいクラスでは、次を使用します。
インターフェイスのすべての異なる実装がIValidator
自動的に注入されることを期待しています。
私はそれが実際にKodeinでサポートされていることを知っています.
val validators: List<IValidator> by kodein.allInstances()
これが Koin 内で可能かどうか知りたいです。
ありがとう!
android - マルチモジュールのクリーン アーキテクチャ プロジェクト: Koin のセットアップに適切な gradle 依存関係を反映させる
ドメイン、データベース、サービス、アプリの各モジュールで構成されるマルチモジュール プロジェクトを開発しています。
依存関係は次のとおりです。
- ドメインには何もありません
- データベースはドメインに依存します
- サービスはデータベースとドメインに依存します
- app はドメインとサービスのみに依存する必要がありますが、データベースにも依存するようになりました。
アプリ、サービス、およびデータベースにはそれぞれ、モジュールが提供するすべてのもの (Koin) を含む modules.kt があります。データベースはリポジトリの実装を提供し、サービスはユースケースを提供し、アプリはビューモデルを提供します...
アプリがデータベース モジュールに依存しなければならない理由は、アプリ モジュールで Koin を起動するときに、データベース モジュールを参照できるようにするためです。
そのためだけに、アプリ モジュールをデータベース モジュールに依存させたくありません。ただし、すべてのレイヤーに独自のモジュールファイルが必要です。Koin サービス モジュール ファイルがそのデータベース モジュール ファイルに依存していることを宣言する方法はありますか? そうすれば、私の Koin セットアップは私の gradle セットアップを反映します。
android - Gradle の依存関係が依存モジュールと共有されていない
環境
私のプロジェクトには 2 つのモジュールがあります。
- Java/Kotlin モジュール
common
- Android/Kotlin モジュール
app
common
依存性注入のための Kotlin ライブラリである Koin に依存します。
使用例:
app
Android コードに何も注入する必要がないため、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
。
質問
今私は混乱しています:
- Koin
app
は直接使用しないので、依存関係は必要ないと思います。なぜですか?の静的型が でMyPresenter
あるからKoinComponent
ですか? api
deprecated と同じだと思いましたcompile
。そうではないようです。- deprecated を使用する以外に別の方法はあり
compile
ますか?
android - プライベートパラメーターを持つKoinシングルトン注入コンストラクター
こんにちは、私はちょうど Koin を学んでいます。この Dagger2 クラスは、Koin 2.0 でどのように提供されますか?
私はこれを試しました:
AppExecutors.MainThreadExecutor()
プライベートですが。それを公開する唯一の解決策はありますか?