《大話設計模式 職責鏈模式》筆記

2021-09-02 01:32:16 字數 1177 閱讀 2263

1、職責鏈模式(chain of responsibility),使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合關係。將物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理它為止。

2、責任鏈模式結構圖:

3、簡單**實現

handler類,定義乙個處理請示的介面。

public abstract class handler 

public abstract void handlerrequset(int request);

}

concretehandler類,具體處理者類,處理它所負責的請求,可以訪問它的後繼者,如果可以處理該請求就處理之,否則就將該請求**給它的後繼者。

concretehandler1,在0-10之間有權處理否則傳給下一位

public class concretehandler1 extends handler else if(successor!=null)}}

concretehandler2,在10-20之間有權處理否則傳給下一位

public class concretehandler2 extends handler else if(successor!=null)

}}

concretehandler3,在20-30之間有權處理否則傳給下一位

public class concretehandler3 extends handlerelse if(successor!=null)

}}

客戶端**

public class client ;

for (int i : request)

}}

4、好處

1、當客戶提交乙個請求時,請求是沿鏈傳遞直到有乙個concretehandler處理它,這就使得接收方和傳送方都沒有對方明確的資訊,且鏈中的物件自己也並不知道鏈的結構,結果是職責鏈可簡化物件間的相互連線,他們僅需保持乙個指向其後繼者的引用,而不用保持他所有候選者的引用,我們可以隨時增加或修改處理乙個請求的結構,增強了給物件指派的靈活性。

大話設計模式 職責鏈模式

1.當客戶提交乙個請求時,請求是沿鏈傳遞直至有乙個concretehandler物件負責處理它 dp 2.接收者和傳送者都沒有對方的明確資訊,且鏈中的物件自己也並不知道鏈的結構。結果是職責鏈可簡化物件的相互連線,它們僅需保持乙個指向其後繼者的引用,而不需保持它所有的候選接受者的引用 dp 3.隨時隨...

java 職責鏈模式(大話設計模式)

處理請求的介面 author administrator public abstract class handler public abstract void handlerequest int request 具體處理者類,處理它所負責的請求,可訪問它的後繼者,如果可處理該請求,則處理,否則轉給它...

大話設計模式(13)職責鏈模式

一 場景描述及uml圖 簡單概括 適用於串序指向的策略,如演算法流 a b c d e f,各個演算法依次指向,特定條件下某些演算法可能會跳過。二 概念 職責鏈模式 chain of responsibility 使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合。將這個物件連成一條...