iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
自我挑戰組

【從工程師升級成為資深工程師的那檔事】 系列 第 20

【從工程師升級成為資深工程師的那檔事Day 20】設計模式 - 責任鏈模式

  • 分享至 

  • xImage
  •  

今天開始會分享行為型的設計模式,
行為型設計模式共有11個:

  • 責任鏈模式 Chain of Responsibility Pattern
  • 命令模式 Command Pattern
  • 迭代模式 Iterator Pattern
  • 中介者模式 Mediotor Pattern
  • 備忘錄模式 Memento Pattern
  • 觀察者模式 Observer Pattern
  • 策略模式 Strategy Pattern
  • 模板模式 Template Pattern
  • 訪問者模式 Visitor Pattern
  • 狀態模式 State Pattern
  • 直譯器模式 Interpretor Pattern

責任鏈模式 Chain of Responsibility Pattern

定義

允許請求沿著責任鍊向不同的處理者發送,直至處理者處理完成。

用途

這種設計模式常常用於事件驅動整個系統運作的程式之中,
由主流程將事件傳遞到責任鍊上再由責任鍊內部去處理和完成這個事件。
透過這樣的方式將事件的發起與事件的處理分割開
也能動態的加入新的處理者,讓整條責任鍊具有擴充性。

應用

結語

雖然責任鍊模式讓往後的維護及擴充更加的方便。
但是這種設計模式也存在一點隱憂,
在此模式原本的設計下,並沒有確認是否完成事件處理的機制
所以若是事件的處理與否會影響系統的穩定,則需要考慮加入驗證的機制。

在前面有提到 責任鍊模式與裝飾器模式很相似,
前面用選擇來形容責任鏈模式可能還是有點抽象。
所以用另外一種方式形容,責任鍊模式就是公司分派任務下來,
各個部門到處踢皮球,會不會完成也不知道。


上一篇
【從工程師升級成為資深工程師的那檔事Day 19】淺談結構型設計模式(總結)
下一篇
【從工程師升級成為資深工程師的那檔事Day 21】設計模式 - 命令模式
系列文
【從工程師升級成為資深工程師的那檔事】 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言