私は非常に単純なファクトリを持っています。このファクトリは、作成するオブジェクトの型と作成されるすべてのオブジェクトに共通の他のパラメータを決定するパラメータの1つとしてEnumをとります。異なるパラメータを持つクラスのファクトリパターンを使用する
私は例えば、私のオブジェクトコンストラクタのパラメータを作成するための工場のためのより多くの種類が異なるために始めている追加しているとおり:
public class someFactory {
public someFactory() {
}
public SomeObject newObject(Type type, Object data) {
return this.newObject(type, data, "");
}
public SomeObject newObject(Type type, Object data, Object stringOrObject) {
SomeObject someObject = null;
if (type != null) {
switch(type) {
case CREATE:
someObject = new CreateObject(data);
break;
case DELETE:
someObject = new DeleteObject(data, (String)stringOrObject);
break;
case EDIT:
someObject = new EditObject(data, (Object)stringOrObject);
break;
default:
break;
}
}
return someObject;
}
}
私は工場を使用して、ちょうどで、異なるタイプのインスタンスを作成してはいけませんまたは上記をより柔軟にするために何とか改良することができますか?
Enumを削除して、代わりに別の方法を使用できますか? –