我有一个非常简单的工厂,它将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