我在阅读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