我有一個非常簡單的工廠,它將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;
}
}
如果我不使用一個工廠,只是實例化的不同類型與正確的論點還是可以通過某種方式改進上述內容以使其更加靈活?
您可以刪除枚舉並改用其他方法嗎? – 2010-12-06 20:58:42