設計模式12 命令模式

2021-10-07 06:20:10 字數 1093 閱讀 2689

命令模式是一種物件行為模式,將乙個請求封裝成乙個物件,進而可以用不同的請求對客戶進行引數化;對請求排隊或者記錄請求日誌,以及支援可撤銷的操作。

傳送請求的物件只要知道怎麼傳送請求,而不用知道是如何完成請求的。

在下面的例子中,由於客戶端不同請求在服務端的處理方法介面均不一致,因此,需要將這些請求都使用乙個介面 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工廠要,不再需要告訴工廠要什麼型號的處理器核了。工廠方法 定義建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使類的例項化延遲到其子類。優點 增加新功能只...