1. 程式人生 > >命令模式簡談

命令模式簡談

 圖解命令模式

 

包含的角色

Client:客戶端

Receive:接受者角色

Command:命令角色

ConcreteCommand:具體命令角色

Invoker:呼叫者角色

優缺點

     優點:

                 1、降低了系統耦合度。

                 2、新的命令可以很容易新增到系統中去。

     缺點:

                 使用命令模式可能會導致某些系統有過多的具體命令類。

目的

將一個請求封裝成一個物件,從而使您可以用不同的請求對客戶進行引數化。

經典應用場景

認為是命令的地方都可以使用命令模式,比如:

1、GUI 中每一個按鈕都是一條命令。

2、模擬 CMD。

總結

在某些場合,比如要對行為進行"記錄、撤銷/重做、事務"等處理,這種無法抵禦變化的緊耦合是不合適的。在這種情況下,如何將"行為請求者"與"行為實現者"解耦?將一組行為抽象為物件,可以實現二者之間的鬆耦合。