定義:
將一個請求封裝成一個對象,因此可以參數化多個客戶的不同請求,將請求排隊,記錄請求日誌,並且支持撤銷操作。(來自:《深入淺出設計模式》莫勇騰)
應用情景:(來自:《深入淺出設計模式》莫勇騰)
- 當你需要與動作有關的對象來作爲參數。
- 你需要在不同的時間創建請求,生成請求隊列,執行請求。
- 你需要支持取消、保存修改日誌或處理事務(事務包括大量修改的數據)功能。
- 你需要支持宏命令。
注:司機不必關注加速的細節,只需要發出一個命令即可實現加減速。命令可以是連續的(隊列操作),重複的,可撤銷的操作。
源代碼:Command Pattern