使用和濫用策略模式程序代碼
作者:佚名 時間:2012-06-12 分享到:
命令模式的關鍵在于將想法從實際行動中分享出來,當你使用這個設計模式時,你就不能再說"做這個".相反你得說"記住這個如何做",稍后再說:"按照我剛才要你記住的方法做這個"即便在ruby中,你可以使用輕量級代碼塊版本的命令模式,這個模式所需要的兩部分添加子一定的復雜度,所以在你打開這個魔法口袋之前,請先確定你的確需要這些復雜度.
假設你的確需要使用命令模式,那么要讓它為你工作的話,八就一定要確保每一步的想法都完整.你必須細致地考慮整個過程的情況,充分考慮命令對象的創建和執行,是的,在我創建這個命令的時候,那個關鍵文件已經被打開,重要對象也已經初始化了,但是在命令被執行的時候,這個文件和對象是否可用呢?
如果命令是簡單的單向執行,那么要正確處理這類“創建時段和執行時段”的問題通常并不困難,在多數情況下,你只需要將這個操作的參數保存在命令對象中即可,但是如果命令對象是可以撤銷的操作那就需要多加小心,許多操作是破壞性的,它們排除了已有的數據,如果你計劃創建一個可以撤銷的命令,那你必須以某種方式在執行命令時將被抹除的數據保存下來,從而你可以在撤銷這個命令的操作時將數據恢復。
如沒特殊注明,文章均為上海聯楷網絡原創,轉載請注明來自:http://www.ktcbnqb.cn/help/20151126/n958.html