我在閱讀Head First Design Pattern並在Factory的章節。我正在考慮更改一個我的工作代碼來實現它。工廠設計模式擴展
首先我用IAction創建IAction和ActionFactory,從IAction創建UploadDatabase,CopyFile,UploadSharepoint等。這是在DLL中,可以從exe調用。這很容易並且完成。
然後我打算從IAction創建包含諸如打印,腳本等動作的AutoCADAction。這些動作只能在AutoCAD中運行。
現在我喜歡用重疊的GetAction創建AutoCADActionFactory,它也會創建ActionFactory和AutoCADAction。現在我輸了。
下面是示例代碼:
在ActionFactory.GetAction
public IAction GetAction(ActionType myActionType)
{
switch (myActionType)
{
case ActionType.UploadDatabase:
return new UploadDatabase();
case ActionType.CopyFile:
return new CopyFile();
case ActionType.UploadSharepoint:
return new UploadSharepoint();
}
}
我如何代碼我AutoCADActionFactory.GetAction,這是正確的嗎?
public AutoCADAction GetAction(ActionType myActionType)
{
return Base.GetAction;
switch (myActionType)
{
case ActionType.Print:
return new Print();
case ActionType.Script:
return new Script();
...
}
}
謝謝
「現在我迷路了」?怎麼樣?請正確格式化您的代碼,並請詳細說明您是如何丟失的。什麼阻止你?你還需要知道什麼? – 2011-06-02 14:44:30