これらは両方とも、デカップリングという同じ目標を達成します。ただ、パターンが違うだけ。
1.) DI に対する Service Locator の欠点は何ですか? 私がそれを正しく理解していれば、それらのカップル。
- コンテナが必要です。したがって、コンポーネントにはコンテナコードが必要です
- 単体テストは難しい。
2.) DI に対する SL の利点は何ですか?
- 依存関係のカプセル化を提供します。
- 依存関係を明示的にアドバタイズする必要はありません。
3.) いつ何を使う?(DI/SL)。実際の例はありますか?
これはいくつかのスレッドで議論されています。しかし、これに対する本当の簡潔な答えはありません。