提供する方法を知っているオブジェクトです。よって一意に識別されます。使用してサービス・ロケータからコンポーネントを取得できます。インスタンス、またはその子クラスのインスタンスです。アプリケーション・オブジェクトです。簡単に、これらのコンポーネントを構成、あるいは独自の実装に置き換え、といったことができます。アプリケーション・オブジェクトの他に、各モジュール・オブジェクトもまたサービス・ロケータです。サービス・ロケータを使用する最初のステップは、コンポーネントを登録することです。通じて登録することができます。次のコードは、コンポーネントを登録するさまざまな方法を示しています。使用して、プロパティのようにコンポーネントにアクセスすることができます。後でそのコンポーネントが再度アクセスされた場合、サービス・ロケータは同じインスタンスを返します。登録されているかをチェックできます。呼び出した場合、例外が投げられます。いう名前の書き込み可能プロパティが提供されています。これで一度に複数のコンポーネントを設定して登録することができます。コンポーネントとともに構成するための構成情報配列を示しています。コンポーネントを構成する別の方法があります。下記のように、そういうコールバックを返すスタティックなクラス・メソッドを使うことが出来ます。コンポーネントをリリースしようとする場合に、特に推奨される代替手法です。上で示されているようなスタティックなメソッドを使ってサードパーティのオブジェクトを構築する複雑なロジックを表現します。すれば、あなたのコンポーネントのユーザは、コンポーネントを構成するスタティックなメソッドを呼ぶ必要があるだけになります。¶モジュールは任意にネストすることが出来ます。アプリケーションは本質的にモジュールのツリーなのです。これらのモジュールのそれぞれがサービス・ロケータである訳ですから、子がその親にアクセスできるようにするのは理にかなった事です。開発者にモジュール内で構成をオーバーライドするオプションを提供できることも、この仕組の利点です。モジュールからサービスを引き出そうとする全てのリクエストは、そのモジュールが要求に応じられない場合は、すべてその親に渡されます。モジュール内のコンポーネントの構成情報は、親モジュール内のコンポーネントの構成情報とは決してマージされないことに注意して下さい。サービス・ロケータ・パターンによって私たちは名前の付いたサービスを定義することが出来ますが、同じ名前のサービスが同じ構成パラメータを使用すると想定することは出来ません。