設計模式命令

2022-08-29 10:18:18 字數 908 閱讀 3766

命令模式

設計原則:遵循迪公尺特、開閉原則

常用場景:行為的請求者與行為的處理者耦合度過高

使用概率:20%

複雜度:中高

變化點:命令的種類

選擇關鍵點:請求者是否不需要關心命令的執行只知道接受者

逆鱗:命令的種類無限制增長

相關設計模式

職責鏈模式:容易將二者關聯在一起的原因是,二者都是為了處理請求或者命令而存在的,而且二者都是為了將請求者與響應者解耦,

不同的是命令模式中,客戶端需要知道乙個命令的接受者,在建立命令的時候就把接受者與命令繫結在一起傳送給呼叫者,

而職責鏈模式中,客戶端並不關心最終處理請求的物件是誰,客戶端只是封裝乙個請求物件,隨後交給職責鏈的頭部而已,也正因為這樣,二者的實現方式,有著很大的區別

主要思想:

**就是讓指定類去呼叫另乙個類的指定方法

相當於老闆告訴秘書叫某個人過來,秘書就告訴某人 老闆就你你過來下

老闆就是命令發出者,秘書就是呼叫者,某人就是命令接收者,這裡老闆就告訴了秘書接受者和命令

//

員工接收者

public

class

employee }//

秘書排程者 這裡的命令可以多種,接收者也可以多種

public

class

secretary

public

void

execute()}//

老闆 命令發出著 也可以發各種命令

public

class

boss

public

void

sendcommand()

}public

class

test

}

設計模式 命令設計模式

一句話總結 命令設計模式的實質是將命令定義,命令的執行分離開,從而提公升了系統的解藕性 結構 命令的抽象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...