6

Service Locator は非常に便利な概念のようで、自分のアプリに実装したいと考えています。ただし、それをどのように実装するか、および他のプログラミング パラダイムと組み合わせて使用​​する方法について、いくつか質問があります。

  1. SL は、格納しているサービスを管理する必要がありますか? つまり、SL が破棄された場合、サービス自体も破棄する必要がありますか、それともサービスを登録した人に任せるべきでしょうか?

  2. 依存性注入はどうですか?SL を取得したので、SL をパラメーターとして渡すことに意味はありますか、それともグローバルにアクセスする必要がありますか? 結局のところ、DI の全体的な目的の多くは SL でもカバーされるので、多くの関数をもう 1 つのパラメーターで乱雑にしたくありません。

4

1 に答える 1

9

私がこの記事を書いたと思うかもしれませんが(私は書いていません)、私がそれを参照する頻度を考えると:

ServiceLocatorはアンチパターンです

依存性注入は、依存性を明示的にします。Service Locationはそれらを実装に埋め込み、ロケーターへの強い依存関係を作成します。

于 2011-09-14T18:32:25.717 に答える