設計模式 責任鏈模式(學習筆記)

2021-08-16 08:49:21 字數 791 閱讀 3660

責任鏈模式原理:

示例專案:

購買請求決策專案

購買請求決策專案介紹

決策因素:**

決策級別:組長、部長、副總、總裁

傳統類圖結構:

責任鏈模式類圖:

責任鏈模式:如果有多個物件都有機會處理請求,責任鏈可使請求的傳送者和接收者解耦,請求沿著責任鏈傳遞,直到有乙個物件處理了它為止。

優點:將請求的傳送者和接收者解耦,使多個物件都有機會處理這個請求

可以簡化物件,因為它無須知道鏈的結構

可以動態地增加或刪減處理請求的鏈結構

缺點:請求從鏈的開頭進行遍歷,對效能有一定的損耗

並不保證請求一定被處理

責任鏈模式關鍵點:

責任鏈模式:如果有多個物件都有機會處理請求,責任鏈可使請求的傳送者和接收者解耦,請求沿著責任鏈傳遞,直到有乙個物件處理了它為止。

適用場合:

有多個物件可以處理乙個請求

不明確接收者的情況

有序、無序鏈,線型、樹形、環形鏈

責任鏈模式和狀態模式主要區別:

責任鏈模式注重請求的傳遞

狀態模式注重物件狀態的轉換

設計模式學習 責任鏈模式

責任鏈模式 使多個物件都有機會處理請求,從而避免了請求的傳送者和接受者之間的耦合關係,將這些物件連成一條鏈,並沿著這條鏈傳遞該請求,只到有物件處理他未止.使用場景 多個物件可以處理同乙個請求,但具體由哪個物件處理則在執行時動態覺得 在請求處理者不明確的情況下向對個物件中的乙個提交乙個請求 需要動態指...

學習設計模式 責任鏈模式

說明 使多個物件都有機會處理請求,從而避免請求的傳送者和接受者之間的耦合關係,將這個物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理他為止。需求 請假審批 解決方式 a.定義乙個處理者抽象類,宣告處理方法,定義乙個處理者類,定義設定下個處理者的方法 b.分別定義處理者實現類 處理者實現類2...

設計模式 責任鏈模式學習

責任鏈模式,顧名思義,就是將需要實現的功能,拆分為各自專一的責任,組成一條責任鏈,來完成對資料的處理。先看下面一段demo 需要被處理的物件類 data public class user 責任處理器介面 public inte ce filter責任處理器的兩個介面 public class fi...