問題タブ [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.
.net - DI- Type 型の動的パラメーター。ここで、type は親オブジェクトの型です。
クラスの 1 つに注入する必要がある依存関係があります。この依存関係は のライフスタイルになりTransient
ます。次に、 type の依存関係がありType
ます。この型は、元のクラスの型である必要があります。どうすればこの登録を行うことができるか、誰かが知っているかどうか疑問に思っていました.
例を参照してください:
Container.Resolve
これで、必要なときにいつでも電話して、手動でCustomer
注入できることがわかりました。Register
しかしRegister
、ほとんどのクラスに注入する必要があるため、これは実際には実現可能ではありません。したがって、configまたはを介してそれを行う方法が必要container.Register
です。
inversion-of-control - SmalltalkとIoC
.NetとJava用のIoCフレームワークがたくさんあります。Smalltalkに同等のフレームワークがない理由を誰かが知っていますか?これは何よりも哲学の質問です。Smalltalkのやり方で、IoCフレームワークの必要性を排除する何かがあるのではないかと思います。
c# - CastleWindsorが伐採施設を設置する場所と方法
私はCastleWindsorにかなり慣れておらず、伐採施設の出入りを調べています。かなり印象的ですが、私が解決できない唯一のことは、WindsorがクラスのLoggerプロパティを設定する場所です。次のコードのように、クラスがまだセットアップされていない場合はLoggerをnullLoggerに設定しますが、Resolveの実行が終了すると、Loggerプロパティが設定されます。
だから私が疑問に思っているのは、ウィンザーが私のロガープロパティをどこでどのように設定するかです。
乾杯アンソニー
c# - .net による制御の反転
.Netで Inversion of Control (Ioc) の原則を使用している人を耳にすることはめったにありません。Spring と PicoContainer でより多くの Ioc を使用する Java で作業する友人が何人かいます。
コードから依存関係を削除するという原則は理解していますが、それがはるかに優れているとは思えません。
.Net プログラマーがこれらのタイプのフレームワークを使用しない (または使用しない) のはなぜですか? もしそうなら、本当に長期的にプラスの効果を見つけますか?
c# - .NET 1.1 をサポートする制御の反転 (IoC) コンテナーはどれですか?
.NET 1.1 をサポートする制御の反転 (IoC) コンテナーはどれですか?
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 サイトで解決策や例を見つけることができません ;)
.net - コンストラクタのトリックへの.config?
データを監視/処理するための簡単なプロジェクトに取り組んでいます。基本的に、それは単なるモニター、スケジュール、およびプロセッサーです。モニターは、スケジュールを使用してデータ (ftp、local、imap、pop など) をチェックし、新しいデータをプロセッサに送信します。それらはすべてインターフェースを持っています。
config を使用して、各モニターが使用するスケジュール/プロセッサを構成する適切な方法を見つけようとしています。それはとても簡単です:
私が苦労しているのは、ミックスに投入された古いモニター/スケジュール/プロセッサーを構成する最良の方法は何かということです。一方では、コンストラクターのパラメーターまたはプロパティを実装できます (任意の構文を使用できます)。
別の解決策は、カスタム構成をパラメーターとして受け取る各インターフェースのファクトリーメソッドです。
私は人々が両方を使用しているのを見てきました。あなたは何を好むか?構成をコンストラクターにマッピングするときの取引のトリックはありますか?
DIがこの混乱に収まるかどうかについて、私は少し引き裂かれています. 最終的には、監視インスタンスごとのバインディングのセットになります。これは、config がカバーできるデフォルトを除いて無意味に思えます。
inversion-of-control - Castle Windsor では値型の解決が可能ですか?
System.TimeSpan を必要とするコンポーネントにパラメーターを渡そうとしています。「長い目盛り」のctorを解決することしかできません。
構成ファイルのスニペットを次に示します。
これは例外です:
次のように、コンポーネント パラメータのティック値を渡すと機能します。
しかし、これは目的に反します。
inversion-of-control - Castle-Windsor は XML 構成を介して ForwardedTypes をサポートしますか?
複数のインターフェイスを実装するクラスがあります。これらのインターフェースを XML 経由で登録したいと考えています。私が見つけたのは、新しい Fluent Interface のドキュメントだけです。このオプションは XML 経由でサポートされていますか? この機能を追加するには何が必要ですか?
c# - シングルトンの背後にある IoC コンテナーの抽象化 - 間違っていますか?
一般的に、私はアプリケーションが IoC コンテナーを完全に認識しないようにしたいと考えています。ただし、アクセスする必要がある場所で問題が発生しました。痛みを抽象化するために、基本的なシングルトンを使用します。丘に向かって走ったりショットガンを取り出したりする前に、解決策を説明させてください。基本的に、IoC シングルトンはまったく何もせず、渡さなければならない内部インターフェイスに委譲するだけです。これにより、シングルトンの操作が楽になることがわかりました。
以下は IoC ラッパーです。
IDependencyResolver:
キャッスル、スタブ、フェイク、等
これは滑りやすい道ですか?今後、潜在的な問題に遭遇することはありますか?