Java 設計模式(十一)命令模式

2021-08-21 12:10:43 字數 1149 閱讀 9615

命令模式:將乙個請求封裝為物件,從而使我們可用不同的請求對客戶進行引數化;對請求排隊或者記錄請求日誌,以及支援可撤銷的操作。也稱為:動作(action)模式、事務(transaction)模式。

結構圖:

**示例:

receiver接收者:

/**

* 真正的命令執行者

*/public

class

receiver

public

void

unaction()

}

command抽象命令類:

/**

* 抽象命令介面

*/public

inte***ce

command

concretecomand具體命令類:

/**

* 具體命令類

*/public

class

concretecommand

implements

command

public

void

execute()

public

void

cancel()

}

invoker呼叫者/請求者:

public

class invoker

//執行命令

public

void

runcommand()

//取消命令

public

void

cancelcommand()

}

客戶端:

public

class client

}//輸出結果

執行命令----

撤銷命令----

優點:缺點:

設計模式學習一 命令模式

一 什麼叫做命令模式 定義 將請求封裝成物件,這可以讓你使用不同的佇列,請求,或者日誌請求來引數化其他物件。命令模式也支援撤銷操作。二 使用場景 當需要將發出請求的物件和執行請求的物件解耦的時候使用命令模式。三 命令模式的構成 命令模式包括 1 命令介面或者命令抽象類 command 定義命令類所需...

Java(十一)設計模式

單例模式 通常作為程式中存放配置資訊的載體,因為它能保證其他物件讀到一致的資訊。特點 1.只能有乙個例項。2.必須自己建立自己的唯一例項。3.必須給所有其他物件提供這一例項。1.餓漢式 class singleton1 2,建立本類物件 private static singleton1 s new...

junit設計模式分析一 命令模式

命令模式 將乙個請求封裝成乙個物件,從而使你可用不同的請求對客戶進行引數化 對請求進行排隊或記錄請求日誌.command模式告訴我們可以為乙個操作 方法 生成乙個物件並給出它的乙個 execute 執行 方法。注意 這裡都是乙個。命令模式的構成 1 客戶角色 建立乙個具體命令物件,並確定其接收者 2...