什麼是動作設計模式,我以前沒有聽說過?我懷疑它與Command Design pattern [wikipedia]一樣,但我找不到任何資源。什麼是動作設計模式?
11
A
回答
12
你說得對,動作模式==命令模式。在GUI設計中,你會聽到它更頻繁地調用動作模式,形式爲「按下某個按鈕,執行此操作」。在代碼中,按鈕將與某種操作對象連接起來。
0
動作設計模式與Command設計模式相同。 Action是一個關鍵實體,它將自身的信息封裝在它的行爲中,它的do()方法需要做什麼處理,它如何被撤消等等。當應用程序或其任何組件按照Action設計模式進行設計時,應用程序中的Everything活動可以以動作的形式表示,每一件事都可以重做/撤消多次。例如。宏在Excel中,文本編輯器撤銷/重做等
Action類,這是這種設計模式的構建塊可設計如下: -
public interface Action{
public void do();
public void undo();
public void do(int iNoOfTimes);
}
public class FileCopyAction implements Action{
private int iActionId;
public void do(){}
public void undo(){}
public void do(int iNoOfItems){}
}
希望它能幫助。
1
我現在在MSDN上讀「The Action/Executor Pattern」,我不同意Command和Action/Executor模式相同的前提。
從Command Pattern的描述在SourceMaking.com:
- 封裝的請求爲對象,從而讓你參數客戶不同的要求,隊列或日誌請求,並支持可撤銷的操作。
- 推進「的方法的調用的對象上的」完整對象狀態
- 一種面向對象的回調
從MSDN文章有關動作/執行人圖案:
Action/Executor模式確定了將用例映射到代碼的策略,從而提高了可視性和敏捷性。此外,它還解決了污染實體和跳過適當使用交易的問題。
的差異似乎是一個「行動」封裝一個或多個步驟,即執行時成功委派控制,負責瞭解如何堅持這些變化到數據庫,Web服務或文件存儲的另一個對象。該操作與執行/保持的方式分離。
「命令」感覺就像是Action/Executor模式的一半 - 「動作」似乎與「命令」同義。 Action/Executor模式讓事情更進一步,並描述了另一個擔心,他的責任是採取「action」或「command」生成的更改並將其保存在某個位置。
相關問題
- 1. 設計模式 - 這是什麼模式?
- 2. 這是什麼樣的設計模式?
- 3. 什麼是「調度員」設計模式?
- 4. 這是什麼JS設計模式?
- 5. 這是什麼設計模式?
- 6. 什麼是鬼魂設計模式?
- 7. 什麼是非鎖定設計模式?
- 8. 這是什麼設計模式?
- 9. 什麼是設計模式標題?
- 10. 什麼是門面設計模式?
- 11. 這是什麼設計模式?
- 12. 什麼是四人幫設計模式
- 13. .net中的設計模式是什麼?
- 14. 是什麼意識到設計模式?
- 15. 這是什麼設計模式?
- 16. 這個文件操作設計模式的名稱是什麼?
- 17. 作業隊列的正確mongo模式設計是什麼?
- 18. 什麼是域驅動的設計模式
- 19. WordPress的模塊/插件管理的設計模式是什麼?
- 20. 什麼是Active Record - 設計模式或模塊?
- 21. 開放式購物車中的mvcl設計模式是什麼?
- 22. 格式化數字的最佳設計模式是什麼?
- 23. 「monkeypatching」背後的正式設計模式是什麼?
- 24. 什麼是使用Selenium PageObject設計模式的最佳方式
- 25. 什麼是實現Viewholder設計模式的最佳方式。
- 26. Codeigniter使用什麼設計模式?
- 27. 我使用什麼設計模式?
- 28. 這裏適合什麼設計模式?
- 29. CRUD有什麼好的設計模式?
- 30. 使用什麼樣的設計模式?