2012-11-03 83 views
0

我正在開發使用命令模式的應用程序。我有兩種操作都必須在我PROGRAMM: 1.長時間操作(複製/刪除文件),應異步運行 2.簡單的操作(刷新面板)命令模式中的2種命令

我的問題是:我可以實現2種這個模式中的命令(AsyncCmd和SimpleCmd)?而在執行命令管理器檢查類型的命令之前:

public void Execute() 
    { 
    if(cmd is AsyncCmd) 
     { 
     RunAsyncOperation(); 
     } 
    else if(cmd is SimpleCmd) 
     { 
     RunOperation(); 
     } 
    } 

回答

2

,你可以,但如果使用其他定義的操作類型擊敗命令圖案的目的。異步和簡單(我猜同步)應該是每個從ICommand(它有一個方法Execute())繼承的單獨的命令。這些命令應該使用能夠處理命令特定上下文的工廠來創建,例如,任何特殊的事情你必須做異步操作等。