コンテナは、クラスに必要な依存関係を提供することを可能にします。クラスがコンテナに認識されている場合は、任意のBeanを作成できます。サービスロケータの例ですか?IOCコンテナはサービスロケータパターンの一例ですか?
2
A
答えて
1
いいえ、DIコンテナ自体はサービスロケータではありませんが、そのように使用できます。それはその使用に完全に依存します。
限り、あなたはComposition Root容器内部を使用して、それがnotサービスロケータです。ただし、コンテナルートの外側にコンテナを使用すると、コンテナへの呼び出し(またはそのコンストラクタ上の抽象化)はService Locator anti-patternのフォームになります。
2
このMartin Fowler氏articleは2間の区別を言及:
二つのパターンの間の重要な違いは、その実装がアプリケーションクラスにどのように提供されるかについてです。サービスロケータでは、アプリケーションクラスはロケータへのメッセージによって明示的にそれを要求します。インジェクションでは明示的な要求はなく、アプリケーションクラスにサービスが表示されます。したがって、制御が逆転します。
関連する問題
- 1. MVVMライトIOCコンテナの例
- 2. は別のIoCコンテナ
- 3. IoCコンテナ
- 4. 理論: "サービスロケータ" "IOCコンテナ" "IOC" "DI"
- 5. BizTalk IOCコンテナ
- 6. C#IoCコンテナ
- 7. IoCコンテナ、WCF&ServiceHostFactories
- 8. IoCコンテナの競合
- 9. ポータブルクラスライブラリ用のIoCコンテナ
- 10. Spring MVCのIOCコンテナ
- 11. xamarin.androidでIoCコンテナを取得
- 12. LightInject IoCコンテナのObjectFactory.GetInstanceアナログ
- 13. IOCコンテナ注入の理解
- 14. Windows MobileアプリケーションのIoC/DIコンテナ
- 15. .NETのIoCコンテナの現在の状態は何ですか?
- 16. IoC/DIコンテナが「コンテナ」と呼ばれるのはなぜですか?
- 17. 私はなぜiocコンテナが必要なのですか
- 18. IoCコンテナ内の自己バインディングとは何ですか?
- 19. Unity3Dで動作する軽量IoCコンテナ
- 20. IOCコンテナと動的言語
- 21. オブジェクトライフサイクル管理とIoCコンテナ
- 22. カスタムIOCコンテナ2/3タイプ
- 23. DIとIOC例
- 24. 代表者はCastle Windsor IOCコンテナに登録できますか?
- 25. サービスロケータパターンとDDD
- 26. MVC3アプリケーションのIoCコンテナの初期化
- 27. PHPミドルウェアのレスポンス/リクエストのパラメータとIoCコンテナ
- 28. IOCコンテナを回避する方法
- 29. IoCコンテナを渡す適切な方法
- 30. アンドロイド/モバイルデバイス向けのベストIOCコンテナ
引用符は、「Service Locator vs Dependency Injection」からの引用です。したがって、引用文は依存関係注入とサービスロケーションの違いについて説明していますが、それはその質問に答えません。質問は* Container *に関するものです。 Dependency Injection *と* Service Locationの両方を行うことができるツール。 – Steven