設計模式之 【職責鏈模式】

職責鏈模式:使多個對象都有機會處理請求,從而避免請求的發送者和接收者直接按的耦合關係。將這個對象連城一條鏈,並沿着這條鏈傳遞該請求,直到有一個對象處理它爲止。

個人理解 : 就是 一個人找人去請假, 三天之內老師先處理。超過三天需要找教導主任,。假如老師處理不了的話,就會把這個請求給教導主任。 直到有人 把你的請的假同意 爲止。

 

優點:

職責鏈模式的最主要功能就是:動態組合,請求者和接受者解耦。

請求者和接受者鬆散耦合:請求者不需要知道接受者,也不需要知道如何處理。每個職責對象只負責自己的職責範圍,其他的交給後繼者。各個組件間完全解耦。

動態組合職責:職責鏈模式會把功能分散到單獨的職責對象中,然後在使用時動態的組合形成鏈,從而可以靈活的分配職責對象,也可以靈活的添加改變對象職責。

缺點:

產生很多細粒度的對象:因爲功能處理都分散到了單獨的職責對象中,每個對象功能單一,要把整個流程處理完,需要很多的職責對象,會產生大量的細粒度職責對象。

不一定能處理:每個職責對象都只負責自己的部分,這樣就可以出現某個請求,即使把整個鏈走完,都沒有職責對象處理它。這就需要提供默認處理,並且注意構造鏈的有效性。

 

發佈了70 篇原創文章 · 獲贊 14 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章