我是新来的设计模式,因此对所有可用的知识有限。希望我可以提供一些关于我正在尝试解决的问题的详细信息,用户社区可以就使用哪种设计模式以及如何实施这些模式提供一些指导。相同返回对象但设计模式选项不同枚举类型值和参数值类型
- 返回对象是为每一个呼叫类型
- 底层类的实现可以在某些枚举类型来完成相同的(即操作类型= 1正常工作与ActionClass1但不ActionClass2和ActionClass3
- 类参数而变化基于上型
例如:
public enum ActionType
{
Action1,
Action2,
Action3
}
P ossible工厂模式实现:
public static class ActionClass
{
public static int DoAction(ActionType type, int val1, int val2)
{
switch (type)
{
case Type1:
return new ActionClass1(val1, val2).DoAction();
break;
default:
throw new NotImplementedException();
}
}
public static int DoAction(ActionType type, string val1)
{
switch (type)
{
case Type2:
return new ActionClass2(val1).DoAction();
break;
case Type3:
return new ActionClass3(val1).DoAction();
default:
throw new NotImplementedException();
}
}
}
我喜欢的尝试方法的想法。开发人员可能需要返回数据。你能解释一下func =(val1,val2)=>语法是什么吗? – 2010-07-21 21:20:39
@Blake Blackwell:这是一个lambda表达式,这是写一个委托的简短方式。 'func =((val1,val2)=> ...)'给变量'func'分配一个函数,该函数接受两个参数('val1'和'val2')并返回'...'。 – dtb 2010-07-21 21:29:43