我們在工作過程中有時候會請假休息,當我們填寫一張請假單後,在這張假單簽字的人,是一級接一級地推進,比如直屬領導->部門總監->ceo->行政人員這樣乙個流程,處理這張假單的過程就是乙個責任的傳遞,他們構成了乙個責任的鏈條,這就是責任鏈模式的核心思想。本篇將詳細梳理責任鏈模式。
責任鏈模式也稱職責模式,它是一種物件行為型模式。它定義為:使多個物件都有機會處理請求,從而避免請求的傳送者和接收者耦合在一起,將這些處理請求的物件連線成一條鏈,並沿著這條鏈傳遞請求,直到有物件處理它為止。
責任鏈模式的類圖關係如下圖所示:
責任鏈模式將請求的傳送者和接受者解耦了。客戶端不需要知道請求處理者的明確資訊和處理的具體邏輯,甚至不需要知道鏈的結構,它只需要將請求進行傳送即可,這大大提高了系統的靈活性,其優點主要表現為以下幾個方面:
對於該模式的缺點
設計模式利劍10 責任鏈模式
定 義 使多個物件都有機會處理請求,從而避免了請求的傳送者和接受者之間的耦合,將這些物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有物件處理它為止 優 點 將請求和處理分開,請求者可以不知道是誰處理的,處理者不用知道請求的全貌,兩者解耦,提高了靈活性,責任鏈模式減低了請求 的傳送端和接收端之間的耦合,...
設計模式 行為型模式,責任鏈模式(10)
顧名思義,責任鏈模式 chain of responsibility pattern 為請求建立了乙個接收者物件的鏈。這種模式給予請求的型別,對請求的傳送者和接收者進行解耦。這種型別的設計模式屬於行為型模式。在這種模式中,通常每個接收者都包含對另乙個接收者的引用。如果乙個物件不能處理該請求,那麼它會...
10 責任鏈模式
責任鏈模式也叫做職責鏈模式 職責連鎖模式。在該模式下,很多物件由每乙個物件對其下家的引用而連線起來形成一條鏈,請求在這個鏈上傳遞,直到某個物件處理了該請求。在鏈上的處理者有兩個選擇,乙個是處理該請求,乙個是將請求推給下一家。乙個請求最終可能會出現沒有被處理的情況。例如客戶把乙個請求交給a,a完成了a...