我是新來的設計模式,因此對所有可用的知識有限。希望我可以提供一些關於我正在嘗試解決的問題的詳細信息,用戶社區可以就使用哪種設計模式以及如何實施這些模式提供一些指導。相同返回對象但設計模式選項不同枚舉類型值和參數值類型
- 返回對象是爲每一個呼叫類型
- 底層類的實現可以在某些枚舉類型來完成相同的(即操作類型= 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