命令模式定義
屬於物件行為型模式。又稱行動模式或交易模式。將一個請求或操作封裝為物件,使系統能以不同請求參數化客戶端、對請求排隊或記錄日志、支援撤銷與恢復。
核心思想
- 封裝命令:請求本身成為物件
- 職責分離:發出命令的責任與執行命令的責任分離,委派給不同物件
- 解耦:請求方不需知道接收方介面、請求如何被接收、是否/何時/如何被執行
模式結構圖

五大角色
- Client (客戶端):建立具體命令並指定接收者
- Command (命令):抽象介面,宣告
Execute()
- ConcreteCommand (具體命令):綁定接收者與動作,實作
Execute() 調用接收者
- Invoker (請求者/發送者):持有命令引用,負責觸發
Execute()
- Receiver (接收者):執行具體業務邏輯
關鍵方法命名
Execute():執行方法(命令/具體命令/發送者)
Action():行動方法(接收者具體業務)
經典應用場景預覽
- GUI 按鈕點擊 → 命令物件
- 巨集錄製/回放
- 資料庫交易 Commit/Rollback
- 編輯器 Undo/Redo