著作一覧 |
好きな人がいるというのにはちょっと驚いた。
合理性から考えれば、DIコンテナアプローチのほうが優れていると思うのだが。
1.設定が一箇所。ServiceLocatorはロケータ毎に設定が分かれる。
2.実装が(基本的に)1つ。ServiceLocatorはロケータ毎に1実装。
3.DIコンテナアプローチであればユニットテスト用モックは不要(ユニットテストから設定できるので)。ServiceLocatorならばモックロケータが必要。
4.ServiceLocatorは概念が不自然。ServiceLocatorはプルモデルとなる。DIコンテナアプローチはプッシュモデルなので自然。
ServiceLocatorの優位点ってどこにあるんだろう?
ジェズイットを見習え |
門外漢ですが、Fowlerタンの「Service Locator 対 Dependency Injection」(邦訳)。<br>http://www.kakutani.com/trans/fowler/injection.html#ServiceLocatorVsDependencyInjection<br>ほぼ同じ評ですね。
その文章を読んだはずだから(現在DNS移動中なので確認できない)影響下にはありますしね。
ああ。まだ見えませんか……。やばい。
ここでいうServiceLocatorとはどういうものを指すのですか?