天天看點

設計模式-指令模式

目錄

設計模式-指令模式

定義

适用場景

代碼示例

指令模式(Command Pattern)是對指令的一個封裝,每一個指令都是一個操作。請求的一方送出請求,要求執行一個操作,接收的一方收到請求并執行操作。指令模式解耦了請求方和接收方,請求方隻需要請求執行指令,不用關心指令是怎麼被接收的,怎樣被操作等。

本質:解耦指令請求和處理。

屬于行為型模式。

現實語義中具備“指令”操作

請求調用者和請求的接收者需要解耦,使得調用者和接受者不直接互動

需要抽象出等待執行的行為,比如撤銷操作和恢複操作等

需要支援指令宏(即指令組合操作)

拿下單舉例:

建立 飯 類和 訂單 類

建立 廚師 類和 收銀員 類

建立指令接口類和【下單】【結賬】指令類

建立服務員類,用于執行指令

測試

結果: