5.2.3.4 別のドメイン内のファクトリの検索

通常、FactoryFinderは、FactoryFinder自体と同じドメイン内にあるファクトリ・オブジェクトへのリファレンスを返します。しかし、FactoryFinderが存在しているドメイン以外のドメイン内のファクトリ・オブジェクトへのリファレンスを返すこともできます。これは、FactoryFinderに別のドメイン内に存在するファクトリの情報が含まれている場合に発生する可能性があります(次の図を参照)。FactoryFinderは、これらのほかのファクトリ・オブジェクトの場所を説明する構成情報から、これらドメイン間のファクトリ・オブジェクトについて調べます。

FactoryFinderは、ファクトリ・オブジェクトを検索するリクエストを受信すると、まず指定された基準に合致するファクトリ・オブジェクトへのリファレンスが存在するかどうかを判断する必要があります。基準に合致するファクトリ・オブジェクトの登録情報があれば、FactoryFinderはそれが現在のドメインから見てローカルな場所にあるのか、それとも別ドメインからのインポートを必要とするのかを判断する必要があります。ファクトリ・オブジェクトがローカル・ドメインからのものであれば、FactoryFinderはファクトリ・オブジェクトへのリファレンスをクライアントに返します。

図5-3 ドメイン間のFactoryFinderの対話

ドメイン間のFactoryFinderの対話の図について説明します。

その一方で、もしその情報が、実際のファクトリ・オブジェクトが別ドメインからのものであることを示していれば、FactoryFinderはリクエストを適切なドメインにあるドメイン間のFactoryFinderに委任します。その結果、ファクトリ・オブジェクトと同じドメイン内のFactoryFinderのみが、ファクトリ・オブジェクトへの実際のリファレンスを含むこととなります。ドメイン間のFactoryFinderは、ファクトリ・オブジェクトのリファレンスをローカルのFactoryFinderに返す役割を果たします。そこからその要求は、クライアントに返されます。