設計模式 責任鏈模式

2021-10-01 16:43:42 字數 1345 閱讀 9882

定義

責任鏈模式(chain of responsibility pattern)為請求建立了乙個接收者物件的鏈。在這種模式中,通常每個接收者都包含對另乙個接收者的引用。如果乙個物件不能處理該請求,那麼它會把相同的請求傳給下乙個接收者,依此類推。

型別

行為型

適用場景

乙個請求的處理需要多個物件中的乙個或多個協作處理

比如:

優點

缺點

相關的設計模式

course類,被審查的類

// 校驗**,由子類實現

public

abstract

void

deploy

(course course)

;}

public

class

extends

}else}}

public

class

extends

}else

}}

public

class

main

}

客戶端建立鍊錶,並主動呼叫頭節點的deploy方法

public

inte***ce

filter

// 這個就相當於deploy方法

void

dofilter

(servletrequest var1, servletresponse var2, filterchain var3)

throws ioexception, servletexception;

default

void

destroy()

}

設計模式 責任鏈模式

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

設計模式 責任鏈模式

責任鏈可以使得系統在不影響客戶端的前提下動態的安排責任鏈和分配責任。責任鏈模式中包含的角色有抽象處理者,具體處理者以及請求的傳送者。責任鏈可以是一條直線,乙個環鏈甚至乙個樹結構。它使得每乙個具體的訊息處理者都有可能處理訊息。抽象的請求處理者 author wly public abstract cl...

設計模式 責任鏈模式

責任鏈模式 chain ofresponsibility pattern 基本概念 責任鏈,顧名思義,是指乙個負責相應請求的行為鏈。首先要理解的是乙個鏈,然後通過這個鏈來管理個行為。什麼時候會用到責任鏈 對於乙個請求,沒有特別指明由誰處理或沒有指明如何處理。此時可以使用責任鏈的形式,用過將各種處理行...