私はインターフェースを持っています:
public interface MyInterface{}
そして2つの実装:
public class Imp1 implements MyInterface {}
public class Imp2 implements MyInterface {}
私のプログラムはCLIです。コマンドライン引数を取り、それを解析して、正しい実装の新しいインスタンスを作成するクラスが必要です。
public class MyFactory {
public MyInterface getMyInterface(CommandLineArgs args) {
....
}
}
ここで使用するパターンはありますか?ファクトリの実装が1つしかないため、抽象的なファクトリパターンが適しているかどうかはわかりません。
それを行う正しい方法ではない場合(なぜ?)、それを行う方がどのように受け入れられますか?
前もって感謝します
これは factory pattern またはfactoryと builder pattern の混合のユースケースです。要求されたバリアントのパラメータをファクトリに渡し、インスタンス化されたオブジェクトを取得します。さらに構成が必要な場合は、ビルダーパターンを使用してこれを抽象化できます。
ファクトリの実装が1つしかないため、抽象的なファクトリパターンが適しているかどうかはわかりません。
実際の要件に応じて、単純なファクトリが行います。