私はファクトリークラスを作成しましたが、それを実装するより良い方法はどれでしょうか。オプション1
public class Factory {
private IProperty prop;
public IDoc doc;
public Factory(int version) {
switch (version) {
case '1':
prop = new Prop();
doc = new Docu();
...
case '2':
prop = new Prop1();
doc = new Docu1();
...
}
}
public IProperty getProperty() {
return this.prop;
}
public IDoc getDoc() {
return this.doc;
}
}
私の質問は、そのようにするかどうか、つまり、インターフェイス型でメンバーを定義し、コンストラクターをオンにするか、すべての get メソッドでコンストラクターの代わりに switch ステートメントを使用するかどうかです。したがって、コンストラクターでは、バージョンを取得して保存しますクラスメンバーで、たとえば次のように使用するよりも
public IProperty getProperty() {
switch (version) {
case '1':
prop = new Prop();
case '2':
prop = new Prop1();
...
では、より良い方法、または他のアイデアは何ですか?