無廢話設計模式(20)行為型模式 職責鏈模式

2022-07-03 21:54:09 字數 1225 閱讀 9977

職責鏈模式定義:

使多個物件都有機會處理請求,從而避免請求的傳送者喝接受者之間的耦合關係。

將這個物件連成一條鏈,並沿這條鏈傳遞該請求,直到有乙個物件處理它為止。

1-1、簡單uml圖

1-2、**實現

//

1、處理請求的抽象父類

abstract

class

handler

//b、處理方法

public

abstract

void handlerrequest(int

count);}//

1-1、具體的請求處理者a

class handlerhr extends

handler

else

//不能處理,交給下乙個節點處理

}}}//

1-1、具體的請求處理者a

class handlerboss extends

handler

else

//還不能處理,繼續交給鏈的下乙個節點處理....}}

客戶端

handler hr = new

handlerhr();

handler boss = new

handlerboss();

hr.setnesthandler(boss);

hr.handlerrequest(4);

hr.handlerrequest(6);

執行結果

1、當有多個物件可以處理同乙個請求,而具體哪個物件來處理這個請求在執行時刻需要自動判定時;

2、當需要在不明確接受者的情況下向多個物件中某乙個提交請求時;

3、當處理乙個請求的物件集合應該動態地被確定時

無廢話設計模式(22)行為型模式 直譯器模式

直譯器模式定義 interpreter 給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子 1 1 簡單uml圖 1 2 實現 1 資訊包 context class context public void setmessage string messag...

無廢話設計模式(12)行為型模式 模板方法模式

模板方法模式定義 定義乙個操作中的演算法骨架,而將一些步驟延遲到子類中 模板方法模式使得子類可以不改變乙個演算法的結構即可重新定義該演算法的某些步驟 1 1 簡單uml圖 1 2 實現 1 抽象父類 abstract class testphone public void poweroff publ...

設計模式 四 行為型模式

1 命令模式 是一種資料驅動的設計模式,屬於行為型模式。請求以命令的形式包裹在物件中,並傳給呼叫物件。呼叫物件尋找可以處理該明林的適合的物件,並把該命令傳給相應的物件,該物件執行命令。建立乙個命令介面 public inte ce order建立乙個請求類 public class stock pu...