1

Service Locator Pattern と Dependency Injection Pattern に違いはありますか?

4

1 に答える 1

1

まあ、同じだったら違う名前じゃないですよね?

依存性注入パターンは、依存性を使用するものに依存性を注入することです。クラスはそれら自体をインスタンス化するのではなく、(コンストラクター注入、プロパティ注入、またはそれらを通常使用するメソッドのパラメーターとして) クラスに渡されます。クラスの呼び出し元/作成者はそれを管理する必要があります。

これは、IoC コンテナーが管理するものです (依存関係チェーンなど)。彼らは、各クラスが持つ依存関係と、それらの依存関係を使用してクラスをインスタンス化する方法を知っています。

サービス ロケーター パターンは、サービス ロケーターが依存関係をインスタンス化するという点で異なります。ただし、これは通常、依存クラスでサービス ロケーターの呼び出しとして行われます。

于 2013-05-11T09:47:59.660 に答える