命令模式

命令模式(Command)
定義: 將來自客戶端的請求傳入一個對象,無需瞭解這個請求激活的 動作或有關接受這個請求的處理細節。

主要實現的是把客戶的各種請求和操作封裝到一個命令對象中,從而達到把命令的請求和對命令的
具體執行兩者之間的關係相互分離的目標;同時還能對命令的請求者以統一的形式進行
命令請求(功能調用),並委派給不同的對象

解決問題:只關心行爲,不關心具體執行類或者實現.
優點:解耦了發送者和接受者之間聯繫。 發送者調用一個操作,接受者接受請求執行相應的動作,因爲使用Command模式解耦,發送者無需知道接受者任何接口。


舉例說明:
我們去飯店吃飯,角色裏有我,服務員,廚師(能燒多種菜)

分析:1、我是命令的請求者
      2、廚師是執行命令的對象
      3、服務員是命令控制者。
      4、我們可以定義1個抽象命令(該命令下有1系列子命令,每個子命令調用廚師的1門手藝,比如紅燒豬手)

舉例說明:
我們知道我們訪問1個網站,網站能夠同時接受的人數是有限的,我們發送的請求是1個命令,這些命令存放在命令列表裏,這些命令可以被執行或是撤消。


項目中應用:在某個管理系統中,需要對每個登陸的用戶進行日誌記錄,但是日誌記錄有多種形式,比如:
控制檯,log4j

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章