問題タブ [ioc-container]

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 投票する
1 に答える
12610 参照

dependency-injection - コンストラクターのパラメーターを渡すキャッスル ウィンザー

いくつかのプロパティを持つ IAddress クラスがあります。次に、このインターフェイスを実装する具象型があります。この具象型には、使用できるいくつかの異なるコンストラクターがあります。実行時にこれらのコンストラクターのいずれかにパラメーター値を渡すにはどうすればよいですか? この具象型を複数回再利用し、そのたびにパラメーター値が異なるため、構成ファイルを使用できません。

0 投票する
5 に答える
7486 参照

c# - 依存性注入の解決と単体テスト

アプリケーションを単体テストするときに、依存性注入を学習しようとしていますが、問題が発生しました。

私はコンソールアプリケーションを作成しており、コンテナはMain()で作成および初期化され、get-propertyinとして使用できるProgram.Containerため、アプリケーションのどこからでもを呼び出すことができますProgram.Container.Resolve<..>()

私はこのようなServiceValidatorクラスを持っています:

別のクラスで私は使用します

Program.Container.Resolveセットアップされていないため、ユニットテストで問題が発生するのはこの呼び出しです。

コンテナでresolveを呼び出すのは悪い習慣ですか?ServiceValidatorインスタンスを作成しMain()てオブジェクトを渡すこともできますが、次のメソッドに渡されるオブジェクトのパラメーターが多くなるため、これはばかげているようです。

したがって、クラス内でResolveを呼び出すことは許容できると思いますが、その場合、コンテナーは単体テスト用に構成する必要があります。どうすればよいですか、コンテナをプログラムクラス以外の場所に移動する必要がありますか?あなたは何をお勧めします?

重要な場合は、UnityとC#を使用しています

ありがとう :-)

0 投票する
3 に答える
711 参照

java - PicoContainer で動的な依存関係を管理するにはどうすればよいですか?

A と B の 2 つのクラスがあり、B は A に依存しているとします。

単一の PicoContainer で B を解決するのは簡単です。

しかしB、の変数インスタンスを使用して、セッションごとに の異なるインスタンスが必要ですA。このようなことを考えています。

上記のコードは、 を要求するときに親コンテナーに要求するsessionため、機能しません。 はそこにありますが、とその親内でのみ解決され、BrootBrootUnsatisfiableDependenciesException.

これを機能させる良い方法はありますか?それとも、これはアンチパターンであり、間違った方法で問題を解決していますか?

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

dependency-injection - Castle Windsor によるコンテキスト バインディング

別のパラメーターに基づいてサービスのさまざまな実装を返すように Windsor を取得することは可能ですか?

たとえば、Role プロパティを持つ User オブジェクトがある場合、Role の値に応じてこのオブジェクトを異なる方法で水和できるようにしたいと考えています。これを行うために IUserService を使用したいのですが、IoC コンテナーによって決定される IUserService の具体的な実装を持っています。

Ninject はこの機能を「コンテキスト バインディング」として提供していると思いますが、Windsor が独自の解決ロジックを展開せずに提供しているかどうかはわかりません。

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

c# - Unityで異なるコンストラクターで同じタイプを2回登録する方法は?

同じ型を登録しようとしていますが、2 つの異なるコンストラクターを使用しています。解決しようとすると、2 番目の解決で「依存関係の解決に失敗しました」と表示されます。

私が間違っていることは何ですか?

0 投票する
30 に答える
270426 参照

dependency-injection - 単純な DI コードではなく、なぜ IoC コンテナーが必要なのですか?

私はしばらく依存性注入(DI) を使用しており、コンストラクター、プロパティ、またはメソッドのいずれかに注入しています。制御の反転(IoC) コンテナーを使用する必要性を感じたことはありません。しかし、読めば読むほど、IoC コンテナーを使用するようにというコミュニティからのプレッシャーを感じるようになりました。

StructureMapNInjectUnityFunqなどの .NET コンテナーで遊んでみました。IoC コンテナーがどのようにコードに利益をもたらしたり改善したりするのか、いまだにわかりません。

また、同僚の多くが理解できないコードを目にするので、職場でコンテナを使い始めることを恐れています。彼らの多くは、新しい技術を学ぶことに消極的かもしれません。

IoC コンテナを使用する必要があることを納得させてください。仕事で仲間の開発者と話すときは、これらの議論を使用します。

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

dependency-injection - Castle Windsor1.0RC3とCastleWindsor2.0の違いは何ですか?

私は最近、Castle Windsor 1.0 RC3をたくさん読んで遊んでいて、それが提供する機能が本当に気に入っています。最近2.0がリリースされましたが、当分の間、私は次のしばらくの間RC3でかなり立ち往生しています。それを念頭に置いて、2つのバージョンの明白な違いと、2.0を超える1.0RC3を使用する場合の落とし穴とそれぞれの回避策を教えてください。さらに、これらの違い/落とし穴のいずれかが、MonoRail 1.0 RC3との統合に直接影響しますか?

0 投票する
6 に答える
8627 参照

c# - Unity に TryResolve はありますか?

Unityが失敗したResolutionFailedException場合にスローしないようにするにはどうすればよいResolveですか?

のようなものはありTryResolve<IMyInterface>ますか?

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

asp.net - spring.netはサブディレクトリを再帰しますか?

spring.netフレームワークがasp.netアプリケーション用に起動すると、IoCコンテナー内のすべてのオブジェクトを登録するコンポーネントは、web.configで参照されるすべてのサブディレクトリを再帰しますか?

例えば。

デバッグ情報(トレースリスナー)の出力を見ると、答えはイエスだと思います。

私が見ている問題は、'\ bin \ clientservice'ディレクトリにインスタンスを作成しようとすると、dllがサブディレクトリに存在していても、エラーメッセージが表示されて失敗することです。

'ファイルまたはアセンブリを読み込めませんでした'log4net、Version = 1.2.10.0、Culture = neutral、PublicKeyToken=1b44e1d426115821'またはその依存関係の1つ。システムは、指定されたファイルを見つけることができません。'

誰かアイデアがありますか?

乾杯

Ollie

0 投票する
7 に答える
16918 参照

inversion-of-control - コンポーネント駆動型開発とは何ですか?

コンポーネント駆動型開発の用語は、特に広く使用され始めています。制御の反転に関連して。

  1. それは何ですか?
  2. それはどのような問題を解決しますか?
  3. それが適切なのはいつですか、そうでないのはいつですか?