命令模式是一種物件行為模式,將乙個請求封裝成乙個物件,進而可以用不同的請求對客戶進行引數化;對請求排隊或者記錄請求日誌,以及支援可撤銷的操作。
傳送請求的物件只要知道怎麼傳送請求,而不用知道是如何完成請求的。
在下面的例子中,由於客戶端不同請求在服務端的處理方法介面均不一致,因此,需要將這些請求都使用乙個介面 abstractcmd 統一起來,這樣,就能將這些請求統一放到伺服器中執行。
只要來了乙個請求,就 new 乙個這樣的物件放到伺服器佇列中,讓伺服器端自行處理即可
#include
#include
#include
using
namespace std;
class
handleproto
void
process2()
void
process3()
};// 命令介面
class
abstractcmd
;class
process1cmd
:public abstractcmd
virtual
void
handle()
handleproto* p_proto;};
class
process2cmd
:public abstractcmd
virtual
void
handle()
handleproto* p_proto;};
class
process3cmd
:public abstractcmd
virtual
void
handle()
handleproto* p_proto;};
class
server
void
starthandle()
} queue> qcmds;};
void
test()
intmain()
Java設計模式之12 命令模式
命令模式 1 建立乙個命令介面 package commandpattern public inte ce command 2 建立乙個接收命令並執行的 類 package commandpattern public class receiver 3 建立乙個 請求者,發出命令請求 package ...
Java設計模式之12 命令模式(2)
我們通過乙個遊戲的業務邏輯來演示命令模式。1 建立命令介面 package commandpattern2 public inte ce command 2 建立命令的執行者 package commandpattern2 具體執行類 相當於 receiver public class tetris...
設計模式 1 2 工廠模式
工廠模式 乙個工廠專門用來產生a型號的單核,另乙個工廠專門用來生產b型號的單核。客戶要做的就是找好工廠,比如要a型號的核,就找a工廠要 否則找b工廠要,不再需要告訴工廠要什麼型號的處理器核了。工廠方法 定義建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使類的例項化延遲到其子類。優點 增加新功能只...