設計模式C 版 第十四式命令模式

2021-08-07 07:51:35 字數 792 閱讀 8367

命令模式:將乙個請求封裝為乙個物件,從而使你可用不同請求。對客戶進行引數化,對請求排隊或記錄請求日誌,以及支援可撤銷的操作。優點就是把乙個請求操作的物件,和乙個知道怎麼乙個操作的物件分隔開,不再是緊耦合。敏捷開發原則,不要為**新增基於猜測的,實際不需要的功能。這也是程式設計中很重要的乙個原則——kiss原則。

#pragma  once

#include #include using std::list;

//最終處理命令者

class barbecuer

void bakechickenwing() };

//命令類系

class command

virtual void excutecommand()

protected:

barbecuer m_cur;

};class bakechickenwingcommand :public command

virtual void excutecommand() };

class bakemuttoncommand :public command

virtual void excutecommand() };

//管理命令類

class waiter

void cancelcommand(command* com)

//通知執行

void notify() }

private:

listm_comlist;

};int main()

設計模式(十四) 命令模式

一 概述 官方解釋 encapsulate a request as an object,thereby letting you parameterize clients with different requests,queue or log requests,and support undoab...

設計模式C 版 第十式外觀模式

在開發階段子系統會因為不斷地重構變得越來越複雜,模式使用時會產生大量的小類,使用外觀模式可以減少 它們之間的依賴。外觀模式,重點在於分層,層與層之間建立外觀。這樣兩個不同的複雜層之間,使用簡單的介面。其次 維護乙個遺留系統時,提供乙個外觀,讓新系統與外觀互動,會使得介面簡單清晰。include cl...

設計模式C 版 第十五式職責鏈模式

職責鏈模式 使多個物件都有機會處理請求,從而便面請求傳送者和接收者之間的耦合關係。將這個物件連成一條鏈,並沿著鏈條傳遞該請求,直到有乙個物件處理它為止。類似狀態模式。接收者和傳送者都沒有對方的明確資訊,且鏈中的物件,自己也不知道鏈的結構。職責鏈可以簡化物件的相互連線,僅保持乙個後繼者的引用,而不需保...