通常、ファクトリ パターンを実装する場合は、このようにします。
public class CustomFactory(){
// pay attention: parameter is not a string
public MyService getMyService(Object obj){
/* depending on different combinations of fields in an obj the return
type will be MyServiceOne, MyServiceTwo, MyServiceThree
*/
}
}
MyServiceOne、MyServiceTwo、MyServiceThree は、インターフェイス MyService の実装です。
それは完全にうまくいくでしょう。しかし問題は、Spring コンテナーによってオブジェクトをインスタンス化したいということです。
私はいくつかの例を見てきましたが、文字列に応じて Spring コンテナーにオブジェクトを作成させる方法を知っています。
問題は、Spring Container によるオブジェクトの実装をこの例に含めることはできますか、それとも別の場所で Object obj を使用してすべての操作を行い、CumtomFactory にメソッド public MyService getMyService(String string) を記述する必要があるかどうかです。