JAVA設計模式 命令模式

2021-08-25 06:02:05 字數 1205 閱讀 6782

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

優點:

1、能較容易地設計乙個命令佇列

2、需要時可以較容易地將命令記入日誌

3、允許接收請求的一方決定是否要否決請求

4、可以容易地實現對請求的撤銷和重做

5、由於加新的命令類不影響其他的類,因此很容易增加新的具體命令類

6、把請求乙個操作的物件與知道怎麼執行乙個操作的物件分割開

介面作為命令,receiver是接收者實體,invoker是發起命令實體,invoker有乙個命令的物件屬性,命令介面實現類有接收者物件屬性,請求者呼叫自身的命令物件的方法,該方法呼叫自身的接收者物件的方法,從而達到命令模式,請求者——>命令——>接收者

/**

* 請求者

*/public

class

invoker

public

void

setcommand(command command)

public

void

executecommand()

}

/**

* 命令介面

*/public

abstract

class

command

public

void

setreceiver(receiver receiver)

abstract

void execute(); //執行請求方法

}

/**

* 命令實現

*/public

class

concretecommand

extends

command

}

/**

* 接收者

*/public

class

receiver

}

public

class main

}

Java設計模式 命令模式

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

java設計模式 命令模式

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

JAVA設計模式 命令模式

命令模式,又稱為行動 action 模式 交易 transaction 模式,是一種行為型設計模式。命令模式的思想是 把乙個請求或者操作封裝到乙個物件中,允許系統使用不同的請求把客戶端引數化,從而實現對請求排隊或者記錄請求日誌 提供命令的撤銷和恢復功等能。命令模式涉及5個角色 結構圖 具體 實現 接...