將請求發送者和請求接受者解耦,讓請求的接受者形成鏈式操作,所有人都能夠接受接受到請求,直到有人處理請求。
結構圖
角色與理解
- 責任鏈模式包含如下角色
- Handler(抽象處理者):所有具體處理者的父類,一般定義為抽象類,定義了一個統一的處理入口,以及維持了一個抽象處理者類型對象的引用,用于形成鏈式處理者
- ConcreteHandler(具體處理者):繼承抽象處理者,實現統一的處理入口,將自己無法處理的請求轉發給下一個處理者
- 處理鏈的形成是在客戶端完成的,以及處理鏈的順序也是客戶端決定的
- 純的責任鏈模式
- 處理者只有兩種選擇,要么全部處理請求,要么全部不處理,不能只處理一部分請求
- 請求必須被處理,不存在請求最終未被處理的情況發生
- 不純的責任鏈模式
- 可以處理部分,然后將請求轉發給下一個處理者處理
- 請求可以不被所有處理者處理
核心代碼
- 抽象處理者
- 具體處理者
- 客戶端
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
處理器
+關注
關注
68文章
19395瀏覽量
230671 -
handler
+關注
關注
0文章
7瀏覽量
3039
發布評論請先 登錄
相關推薦
基于入侵行為模式的告警關聯
本文提出了一種基于入侵行為模式的告警關聯方式。入侵行為模式是定義在時間基礎上的一組謂詞公式,其實質是通過時間限制聯系在一起的入侵事件的集合。該方法在對大量告
發表于 08-13 08:35
?6次下載
設計模式:備忘錄設計模式
備忘錄設計模式(Memento Design Pattern)是一種行為型設計模式,它的主要目的是在不破壞對象封裝性的前提下,捕捉和保存一個對象的內部狀態
還在自己實現責任鏈?我建議你造輪子之前先看看這個開源項目
1. 前言 設計模式在軟件開發中被廣泛使用。通過使用設計模式,開發人員可以更加高效地開發出高質量的軟件系統,提高代碼的可讀性、可維護性和可擴展性。 責任鏈
評論