學習設計模式 責任鏈模式

2021-07-31 16:44:20 字數 423 閱讀 3858

說明:使多個物件都有機會處理請求,從而避免請求的傳送者和接受者之間的耦合關係,

將這個物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理他為止。

需求:請假審批

解決方式:

a.      定義乙個處理者抽象類,宣告處理方法,定義乙個處理者類,定義設定下個處理者的方法;

b.      分別定義處理者實現類、處理者實現類2,定義處理方法(判斷是否能處理,如果不能,給下個處理者執行);

c.      客戶端分別例項化處理者,設定處理者的關係,執行處理方法。

需求變更:新增乙個審批領導;

解決方式:

新增處理者實現類,調整處理方法裡面的判斷條件

類圖:

設計模式學習 責任鏈模式

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

設計模式 責任鏈模式學習

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

設計模式 責任鏈模式

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