JAVA系列 設計模式 命令模式

2021-06-19 02:49:59 字數 1200 閱讀 4490

定義:

將來自客戶端的請求傳入乙個物件,無需了解這個請求啟用的 動作或有關接受這個請求的處理細節。

這是一種兩台機器之間通訊聯絡性質的模式,類似傳統過程語 言的 callback功能。

優點:解耦了傳送者和接受者之間聯絡。 傳送者呼叫乙個操作,接受者接受請求執行相應的動作,因為使用command模式解耦,傳送者無需知道接受者任何介面。

**:

package command;

/** * 宣告執行操作的介面

* @author administrator

* */

public abstract class command

public abstract void execute();

}

package command;

public class commandimpl extends command

public void execute()

}

package command;

public class invoker

/*** 要求該命令執行這個請求。

*/public void execute()

}

package command;

/** * 知道如何實現與執行乙個請求相關的操作。

* @author administrator

* */

public class receiver

}

package command;

/** * 將乙個請求封裝為乙個物件,從而使你可用不同的請求對客戶進行引數化;對請求排隊或記錄請求日誌,以及支援可撤消的動作。

適用性1.抽象出待執行的動作以引數化某物件。

2.在不同的時刻指定、排列和執行請求。

3.支援取消操作。

4.支援修改日誌,這樣當系統崩潰時,這些修改可以被重做一遍。

5.用構建在原語操作上的高層操作構造乙個系統。

* @author administrator

* */

public class test

}

推薦文章

JAVA系列 設計模式 工廠模式

定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。類圖 這個我們平時接觸的比較多了,直接看 吧。注意要區分和抽象工廠的區別。抽象工廠設計模式 package factory 定義工廠方法所建立的物件的介面。author administrator public inte ce iworkf...

Java設計模式 命令模式

命令模式定義 命令模式通過被稱為command的類封裝了對目標物件的呼叫行為以及呼叫引數。將乙個請求封裝稱為乙個命令,從而使你不同的請求對客戶進行引數化 隊請求排隊或記錄請求日誌,以及支援可撤銷的操作。優點 解耦了呼叫者與接受者之間的聯絡。呼叫者呼叫乙個操作,接受者接受請求執行相應的動作,因為使用命...

java設計模式 命令模式

1.概念 將來自客戶端的請求傳入乙個物件,從而使你可用不同的請求對客戶進行引數化。用於 行為請求者 與 行為實現者 解耦,可實現二者之間的松耦合,以便適應變化。分離變化與不變的因素。在物件導向的程式設計中,乙個物件呼叫另乙個物件,一般情況下的呼叫過程是 建立目標物件例項 設定呼叫引數 呼叫目標物件的...