目的
將訊息封裝成物件,以便能用各種不同的訊息、暫佇、紀錄、復原等方式加以參數化。
別名
action、transaction
動機
Command 將【要求執行的物件】與【實際執行操作的物件】分開處理。
結構
參與者
- Command – 制定命令的介面
- ConcreteCommand – 與 Receiver 物件和對應動作連結,在 Execute 實作對應 Receiver 的對應操作
- Client (Application) – 建立 ConcreteCommand 物件並設定他的 Receiver
- Invoker – 要求 Command 執行命令
- Receiver – 根據收到的訊息執行命令,任何類別都可以當 Receiver
參考 :
https://notfalse.net/4/command-pattern