Java設計模式菜鳥系列 七 命令模式建模與實現

2021-09-07 05:52:32 字數 959 閱讀 8480

命令模式(command):將「請求」(命令/口令)封裝成乙個物件,以便使用不同的請求、佇列或者日誌來引數化其物件。

命令模式也支援撤銷操作。命令模式的目的就是達到命令的發出者和執行者之間解耦,實現請求和執行分開。

* 演示樣例:以咱去餐館吃飯為例,分為3步

* * 1、和小二說,來個宮保雞丁 --> 顧客發出口令

* * 2、小二來了一句:宮保雞丁乙份。 這時命令被傳遞到了廚師。--> 口令傳遞到了廚師

* * 3、然後廚師就開始做宮保雞丁去了。

--> 廚師依據口令去執行 * * 從這3步能夠看到,宮保雞丁並非我想吃就我來做,而是傳達給別人去做。 * * 我要的是乙個結果——宮保雞丁這道菜做好了。而我無需去關係這道菜是怎麼去做的。

*/ inte***ce command /** * 口令 -- 經小二傳遞 */ class ordercommand implements command @override public void execute() @override public void undo() } /** * 廚師--真正的口令執行者 */ class cookreceiver public void uncooking() } /** * 顧客--真正的口令發出者 */ class customer /** * 將命令的發出與執行分開 */ public void order() public void unorder() } /** * client測試類 * * @author leo */ public class test }

菜館點餐、遙控器、佇列請求、日誌請求。

從上面的演示樣例能夠看到:命令模式將「動作的請求者」從「動作的執行者」物件中解耦出來。這就是將方法的呼叫封裝起來的優點。

Java設計模式菜鳥系列 七 命令模式建模與實現

命令模式 command 將 請求 命令 口令 封裝成乙個物件,以便使用不同的請求 佇列或者日誌來引數化其物件。命令模式也支援撤銷操作。命令模式的目的就是達到命令的發出者和執行者之間解耦,實現請求和執行分開。示例 以咱去餐館吃飯為例,分為3步 1 和小二說,來個宮保雞丁 顧客發出口令 2 小二來了一...

JAVA系列 設計模式 命令模式

定義 將來自客戶端的請求傳入乙個物件,無需了解這個請求啟用的 動作或有關接受這個請求的處理細節。這是一種兩台機器之間通訊聯絡性質的模式,類似傳統過程語 言的 callback功能。優點 解耦了傳送者和接受者之間聯絡。傳送者呼叫乙個操作,接受者接受請求執行相應的動作,因為使用command模式解耦,傳...

Java設計模式菜鳥系列 十二 組合模式建模與實現

組合模式 composite 組合模式有時又叫部分 整體模式,將物件組合成樹形結構來表示 部分 整體 層次結構。組合模式在處理樹形結構的問題時比較方便。示例 組合模式有時也稱 整合 部分 模式 組合模式在處理樹形結構的問題時比較方便 節點 class treenode 對相關屬性進行封裝 publi...