依存関係の注入はいつ使用しますか?依存性注入を使用することの圧倒的な利点はありますか?
質問する
1645 次
1 に答える
5
ファウラーは、制御の反転と依存性注入パターンの見出しで、この2つをよく比較しています。彼の結論の中で、彼は言います
依存性注入は、ServiceLocatorの便利な代替手段です。アプリケーションクラスを構築する場合、この2つはほぼ同等ですが、Service Locatorの動作はより単純であるため、わずかに優れていると思います。ただし、複数のアプリケーションで使用するクラスを構築する場合は、依存性注入の方が適しています。
あなたはここでより多くの視点と比較を見つけることができます
DIの場合:
- コンポーネントが持つ依存関係を簡単に判別できます-コンストラクターを見てください。
- コンポーネントはServiceLocatorに依存しないため、コンポーネントが別のフレームワークで使用されていても問題はありません。
- DIを使用するとテストが容易になる場合がありますが、優れたService Locatorメカニズムにより、スタブ化も同様に実行可能になります。
DIに対して:
- デバッグと理解が難しい。
- コンポーネントは、一度構成されると、インジェクターに追加のサービスを要求できません。
于 2012-08-30T21:50:03.977 に答える