設計模式 責任鏈模式學習

2021-09-25 02:33:56 字數 1382 閱讀 7726

責任鏈模式,顧名思義,就是將需要實現的功能,拆分為各自專一的責任,組成一條責任鏈,來完成對資料的處理。

先看下面一段demo

需要被處理的物件類

@data

public class user ';}}

責任處理器介面

public inte***ce filter
責任處理器的兩個介面

public class firstfilter implements filter 

}

public class secondfilter implements filter 

}

責任鏈結口

public inte***ce chain
責任鏈實現類

public class filterchain implements chain 

@override

public void dofilter(user user)

}public static void main(string args)

}

執行結果

經過第乙個處理器

經過第二個處理器

user

以上責任鏈主要實現了兩個功能,第乙個處理器對user物件的年齡進行處理,第二個處理器對user物件的名字進行處理,可以看到,在物件走完整個責任鏈之後,物件的屬性被初始化,整個責任鏈完成了自己的責任。在整個鏈中,每個處理器只需要完成自己負責的邏輯,完成之後便像工廠流水線一樣傳遞到下乙個處理器中,遵循了軟體中高內聚,低耦合的思想,是一種非常經典的設計模式,乙個非常經典的案例便是web應用伺服器中的過濾器(filter)。

tomcat中的責任鏈,我們常說的過濾器,即是使用的責任鏈設計模式,主要負責處理解析出來的request和response物件

介面

鏈的實現類

責任鏈處理完之後,拋個sevlet執行業務

以上便是責任鏈模式的所有內容,希望各位看完之後能有所收穫。

設計模式學習 責任鏈模式

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

學習設計模式 責任鏈模式

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

設計模式 責任鏈模式

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