常用設計模式 責任鏈模式

2021-10-02 05:38:30 字數 784 閱讀 7594

責任鏈模式(chain of responsibility pattern)是一種常見的行為模式。

使多個物件都有處理請求的機會,從而避免了請求的傳送者和接收者之間的耦合關係。將這些物件串成一條鏈,並沿著這條鏈一直傳遞該請求,直到有物件處理它為止。

責任鏈模式的重點在「鏈上」,由一條鏈去處理相似的請求,在鏈中決定誰來處理這個請求,並返回相應的結果。

抽象處理者(handler)角色:

該角色對請求進行抽象,並定義乙個方法來設定和返回對下乙個處理者的引用。

具體處理者(concrete handler):

該角色接到請求後,**可以選擇將請求處理掉,或者將請求傳給下乙個處理者。**由於具體處理者持有對下乙個處理者的引用,因此,如果需要,處理者可以訪問下乙個處理者。

/**

* 抽象處理器

*/public

abstract

class

handler

public

void

setnexthandler

(handler nexthandler)

}

/**

* 具體處理器.

*/public

class

concretehandler

extends

handler

}}

public

class

client

}

參考

常用設計模式 責任鏈模式

多個物件都有機會處理請求,從而避免傳送者和接受者之間的耦合關係。將這些物件連成一條鏈,並沿著這條鏈傳送這個請求,直到有乙個物件處理他為止。碼雲位址位址 design patterns 1.把複雜功能拆分處理,讓每個類只是負責乙個處理邏輯。復用性更好,組合更加靈活。2.請求和處理類分開,實現低耦合,更...

常用設計模式 責任鏈模式 二

責任鏈模式在許多框架中都有很廣泛的應用,比如servlet中的filter,netty中的channel等,我們模擬servlet中的filter加深對責任鏈模式的理解,實現請求從a b c b a的執行順序。碼雲位址位址 design patterns 建立filter介面 public inte...

設計模式 責任鏈模式

定義 避免請求傳送者與接收者耦合在一起,讓多個物件都有可能接收請求,將這些請求連線成一條鏈,並且沿著這條鏈傳遞請求,直到有物件處理它為止。例項 請假加薪審批 using system using system.collections.generic using system.text namespa...