責任鏈模式,顧名思義,就是將需要實現的功能,拆分為各自專一的責任,組成一條責任鏈,來完成對資料的處理。
先看下面一段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...