設計模式 命令模式

2021-10-08 01:44:37 字數 1258 閱讀 5779

命令模式是乙個高內聚的模式,其定義為:將乙個請求封裝成乙個物件,從而讓你使用不同的請求把客戶端引數化,對請 求排隊或者記錄請求日誌,可以提供命令的撤銷和恢復功能

1.資料驅動設計模式,它是行為模式之一

2.請求以命令的形式包裹在物件中,並傳給呼叫物件。

3.呼叫物件尋找可以處理該命令的合適的物件,並把該命令傳給相應的物件,該物件執行命令。

命令模式結構圖:

命令模式的幾個角色:

抽象命令介面command:定義命令的介面,宣告執行的方法。

具體的命令物件concretecommand:持有具體的接受者物件,完成具體的具體的命令。

接受者物件receiver:接受者物件,真正執行命令的物件。

傳遞命令物件invoker:持有命令物件,要求命令物件執行請求。

客戶端物件client:建立具體命令的物件並且設定命令物件的接受者。

1.建立抽象命令介面command。

public

inte***ce

command

2.建立具體的命令物件concretecommand。

public

class

concretecommand

implements

command

@override

public

void

execute()

}

3.建立接受者物件receiver。

public

class

receiver

}

4.建立傳遞命令物件invoker。

public

class

invoker

public

void

docommand()

}

5.建立client(main驗證)

設計模式 命令設計模式

一句話總結 命令設計模式的實質是將命令定義,命令的執行分離開,從而提公升了系統的解藕性 結構 命令的抽象command 命令的具體實現concretecommand 命令處理者抽象ireceiver 命令處理者的具體實現concretereceiver 命令的呼叫者invoker 客戶端client...

設計模式 命令模式

1 命令模式的角色組成 1 命令角色 command 生命執行操作的介面。介面或抽象類來實現。2 具體命令角色 concrete command 將乙個接收者物件繫結於乙個動作 呼叫接收者相應的操作,以實現命令角色宣告的執行操作的介面。3 客戶角色 client 建立乙個具體命令物件 並可以設定它的...

設計模式 命令模式

1 command.h ifndef command h define command h include include include using namespace std class chef 廚師,具體命令的執行者 class command 命令基類 class makemuttonco...