問題タブ [inversion-of-control]

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

.net - DI- Type 型の動的パラメーター。ここで、type は親オブジェクトの型です。

クラスの 1 つに注入する必要がある依存関係があります。この依存関係は のライフスタイルになりTransientます。次に、 type の依存関係がありTypeます。この型は、元のクラスの型である必要があります。どうすればこの登録を行うことができるか、誰かが知っているかどうか疑問に思っていました.

例を参照してください:

Container.Resolveこれで、必要なときにいつでも電話して、手動でCustomer注入できることがわかりました。RegisterしかしRegister、ほとんどのクラスに注入する必要があるため、これは実際には実現可能ではありません。したがって、configまたはを介してそれを行う方法が必要container.Registerです。

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

inversion-of-control - SmalltalkとIoC

.NetとJava用のIoCフレームワークがたくさんあります。Smalltalkに同等のフレームワークがない理由を誰かが知っていますか?これは何よりも哲学の質問です。Smalltalkのやり方で、IoCフレームワークの必要性を排除する何かがあるのではないかと思います。

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

c# - CastleWindsorが伐採施設を設置する場所と方法

私はCastleWindsorにかなり慣れておらず、伐採施設の出入りを調べています。かなり印象的ですが、私が解決できない唯一のことは、WindsorがクラスのLoggerプロパティを設定する場所です。次のコードのように、クラスがまだセットアップされていない場合はLoggerをnullLoggerに設定しますが、Resolveの実行が終了すると、Loggerプロパティが設定されます。

だから私が疑問に思っているのは、ウィンザーが私のロガープロパティをどこでどのように設定するかです。

乾杯アンソニー

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

c# - .net による制御の反転

.Netで Inversion of Control (Ioc) の原則を使用している人を耳にすることはめったにありません。Spring と PicoContainer でより多くの Ioc を使用する Java で作業する友人が何人かいます。

コードから依存関係を削除するという原則は理解していますが、それがはるかに優れているとは思えません。

.Net プログラマーがこれらのタイプのフレームワークを使用しない (または使用しない) のはなぜですか? もしそうなら、本当に長期的にプラスの効果を見つけますか?

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

c# - .NET 1.1 をサポートする制御の反転 (IoC) コンテナーはどれですか?

.NET 1.1 をサポートする制御の反転 (IoC) コンテナーはどれですか?

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

asp.net-mvc - StructureMap IOC/DI とオブジェクト作成

asp.net mvc と Structuremap ioc/di を使用して小さな Web ショップを構築しています。Basket クラスは永続化のためにセッション オブジェクトを使用し、SM を使用して IBasket インターフェイスを介して Basket オブジェクトを作成したいと考えています。私のバスケットの実装では、コントローラー/アクション内で利用できるコンストラクターに HttpSessionStateBase (mvc のセッション状態ラッパー) が必要です。SM の IBasket 実装を登録するにはどうすればよいですか?
これは私のバスケットインターフェースです:

そしてSM登録:

しかし、私の StoreBasketService 実装にはコンストラクターがあります。

コントローラーでのみ使用可能な HttpSessionStateBase オブジェクトを SM に提供するにはどうすればよいですか?
これが SM IOC/DI の初めての使用であり、公式ドキュメントや Web サイトで解決策や例を見つけることができません ;)

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

.net - コンストラクタのトリックへの.config?

データを監視/処理するための簡単なプロジェクトに取り組んでいます。基本的に、それは単なるモニター、スケジュール、およびプロセッサーです。モニターは、スケジュールを使用してデータ (ftp、local、imap、pop など) をチェックし、新しいデータをプロセッサに送信します。それらはすべてインターフェースを持っています。

config を使用して、各モニターが使用するスケジュール/プロセッサを構成する適切な方法を見つけようとしています。それはとても簡単です:

私が苦労しているのは、ミックスに投入された古いモニター/スケジュール/プロセッサーを構成する最良の方法は何かということです。一方では、コンストラクターのパラメーターまたはプロパティを実装できます (任意の構文を使用できます)。

別の解決策は、カスタム構成をパラメーターとして受け取る各インターフェースのファクトリーメソッドです。

私は人々が両方を使用しているのを見てきました。あなたは何を好むか?構成をコンストラクターにマッピングするときの取引のトリックはありますか?

DIがこの混乱に収まるかどうかについて、私は少し引き裂かれています. 最終的には、監視インスタンスごとのバインディングのセットになります。これは、config がカバーできるデフォルトを除いて無意味に思えます。

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

inversion-of-control - Castle Windsor では値型の解決が可能ですか?

System.TimeSpan を必要とするコンポーネントにパラメーターを渡そうとしています。「長い目盛り」のctorを解決することしかできません。

構成ファイルのスニペットを次に示します。

これは例外です:

次のように、コンポーネント パラメータのティック値を渡すと機能します。

しかし、これは目的に反します。

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

inversion-of-control - Castle-Windsor は XML 構成を介して ForwardedTypes をサポートしますか?

複数のインターフェイスを実装するクラスがあります。これらのインターフェースを XML 経由で登録したいと考えています。私が見つけたのは、新しい Fluent Interface のドキュメントだけです。このオプションは XML 経由でサポートされていますか? この機能を追加するには何が必要ですか?

0 投票する
4 に答える
3272 参照

c# - シングルトンの背後にある IoC コンテナーの抽象化 - 間違っていますか?

一般的に、私はアプリケーションが IoC コンテナーを完全に認識しないようにしたいと考えています。ただし、アクセスする必要がある場所で問題が発生しました。痛みを抽象化するために、基本的なシングルトンを使用します。丘に向かって走ったりショットガンを取り出したりする前に、解決策を説明させてください。基本的に、IoC シングルトンはまったく何もせず、渡さなければならない内部インターフェイスに委譲するだけです。これにより、シングルトンの操作が楽になることがわかりました。

以下は IoC ラッパーです。

IDependencyResolver:

キャッスル、スタブ、フェイク、等

これは滑りやすい道ですか?今後、潜在的な問題に遭遇することはありますか?