定義:為請求建立乙個接受此次請求物件的鏈
型別:行為型
適用場景:乙個請求的處理需要多個物件當中的乙個或幾個協作處理
優點:(1)請求的傳送者和接收者(請求的處理)解耦
(2)責任鏈可以動態組合
缺點:(1)責任鏈太長或者處理時間過長影響效能
(2)責任鏈有可能過多
特點:有乙個handler抽象類,抽象類中包含乙個自身型別的屬性宣告。
demo以請假為例子,需要組長leader批准,然後需要boss批准。
/**
* 請假實體類
*/public class request
public string getreason()
public void setreason(string reason)
}
handler 抽象類
/**
* 請求處理者
*/public abstract class handler
}
繼承handler的實體類
public class teamleaderhandler extends handler
} else
}}
public class bosshandler extends handler
}else
}}
測試類
public class test
}
設計模式 責任鏈模式
定義 避免請求傳送者與接收者耦合在一起,讓多個物件都有可能接收請求,將這些請求連線成一條鏈,並且沿著這條鏈傳遞請求,直到有物件處理它為止。例項 請假加薪審批 using system using system.collections.generic using system.text namespa...
設計模式 責任鏈模式
責任鏈可以使得系統在不影響客戶端的前提下動態的安排責任鏈和分配責任。責任鏈模式中包含的角色有抽象處理者,具體處理者以及請求的傳送者。責任鏈可以是一條直線,乙個環鏈甚至乙個樹結構。它使得每乙個具體的訊息處理者都有可能處理訊息。抽象的請求處理者 author wly public abstract cl...
設計模式 責任鏈模式
責任鏈模式 chain ofresponsibility pattern 基本概念 責任鏈,顧名思義,是指乙個負責相應請求的行為鏈。首先要理解的是乙個鏈,然後通過這個鏈來管理個行為。什麼時候會用到責任鏈 對於乙個請求,沒有特別指明由誰處理或沒有指明如何處理。此時可以使用責任鏈的形式,用過將各種處理行...