問題タブ [constructor-injection]
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.
c# - シンプルインジェクターによる自己結合
Simple Injector で依存性注入を学習しようとしているので、簡単なプログラムを作成しました。たくさんの例を調べましたが、これに似たものは見つかりませんでした。Ninjectにも同様の例があり、実装をそれ自体に自己バインドします
しかし、単純なインジェクターで自己バインディングの例は見つかりませんでした。現状では、プログラムは正常に動作し、期待どおりの結果が得られますが、それは正しい方法ですか? プログラムは最後のコード サンプルです。
インターフェース
クラス
実装
プログラム
c# - Castle Windsor で解決時間の引数が混在している
ファクトリから引数を渡したい次のようなコンストラクタがあります。
私はこのアプローチを試みましたが、うまくいきませんでした。ローカル値とワールド値の両方が同じで、一方が他方を上書きしたためです。
- registeredEarly は自動的に解決され、コンポジション ルートに登録され、機能します。
- passNowByInterface は解決時に渡す必要がありますが、これはインターフェイスであるため、インターフェイスの種類を指定する必要があります。そうしないと、Castle Windsor が引数の具象型を使用しようとするため、再び機能します - Castle でジェネリック引数を渡すのに失敗するを参照してください。ウィンザー
- local と world も解決時に渡す必要がありますが、どちらも同じ具象型であり、変数名に依存できないことに注意してください - Castle Windsor の同じ型の解決時の引数を参照してください
- 最後のものを残りのものと一緒に動作させることはできませんか?
c# - デフォルトの依存性注入?
ドメイン全体で多くのものをログに記録する必要があるため、ドメインとアプリケーション サービスのほとんどはログの実装に依存しています。この小さなコントラクトを作成したとしましょう:
偉大な。ここで、log4net に基づくインフラストラクチャ サービスを実装しました。
ただし、私のクラスのほとんどは単なるロガー以外の依存関係を持っているため、constructor-over-injection パターンにどんどん近づいています..
設定やロギングなどの基本的なコア要件の注入を回避し、本当に必要な依存関係だけに集中するにはどうすればよいでしょうか? プロパティ注入?サービスファサード? 静的ログ工場?
spring - セッターメソッドなしではコンストラクターによるスプリングオートワイヤーが機能しない
これが私のSpring xml構成です:
そして私のDAOManagerクラス:
ここで、daoManager Bean を取得します。
setter メソッドを削除すると問題が発生するのはなぜですか? 私はそれを必要としません。コンストラクターの前に @Autowired を削除すると (これも機能します)、コンストラクターによる autowire 関数を使用しないだけで無駄になります。
parameters - Ninject ConstructorArgument の値を取得できません (kernel.Get にパラメーターとして渡されます)
kernel.Get() に渡された ConstructorArgument パラメーターの値を取得する際に問題が発生しました。パラメーターの値を使用して、2 つの文字列値のどちらをコンストラクターに渡すかを決定したいと考えています。パラメータは実際には期待どおりに存在しますが、その値を取得できません。パラメータの GetValue メソッドを呼び出した後、null ref 例外が発生します。
class - Moqで具象クラスをモックするときにインターフェース引数でコンストラクターを呼び出す方法
コンストラクター注入を使用する次のクラスがあります。
このクラスのほとんどのメソッドでは、 と の Moq モックを作成しIRepository
、IProvider
を構築するだけService
です。ただし、クラスには、同じクラスの他のいくつかのメソッドを呼び出すメソッドが 1 つあります。このメソッドをテストするには、これらすべてのメソッドをまとめてテストするのではなく、メソッドがこれらのメソッドを正しく呼び出し、戻り値を正しく処理することをテストしたいと考えています。
これを行う最善の方法は、モックを作成することService
です。以前に Moq で具象クラスを問題なくモックしました。Moq でコンストラクター引数を必要とする具体的なクラスを問題なくモックしました。ただし、モックされたオブジェクトのコンストラクターにモックされた引数を渡す必要があったのはこれが初めてです。当然、私はこのようにしようとしました:
しかし、それはうまくいきません。代わりに、次のエラーが表示されます。
のコンストラクターがs やs のService
ような単純な引数を取る場合、これは正常に機能しますが、私がモックしているインターフェイスを取る場合は機能しません。これどうやってやるの?int
string