設計模式 責任鏈模式

2021-09-06 13:20:57 字數 885 閱讀 6592

在一些情況下,對乙個訊息(含事件)的響應和處理需要很多物件來參與,這些物件對訊息的處理有前後順序,形成乙個處理鏈條,但物件是否真正處理訊息有賴於在它之前的物件的處理策略,前乙個物件處理後,後乙個物件則不需參與處理,這就是責任鏈模式。現實中有很多類似的場景,比如上訪,上訪一般是從最基層的信訪部門接受信訪開始進行處理,如果下一級信訪部門無法處理,則交給上一級部門進行處理,這樣一級一級的處理,知道最高信訪部門。這樣所有層級的信訪部門就構成了乙個責任鏈。

public abstract class chain_successor

}public class chain_concreatehandlea : chain_successor

public override void handlereqest(chain_request request)

else

}}public class chain_concreatehandleb : chain_successor

public override void handlereqest(chain_request request)

else

}}public class chain_concreatehandlec : chain_successor

public override void handlereqest(chain_request request)

else

}}public class chain_request

public int request_type

set} public string request_parameters

set}

}public class chain_client

}

設計模式 責任鏈模式

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

設計模式 責任鏈模式

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

設計模式 責任鏈模式

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