設計模式(Design Pattern) – Chain of Responsibility (責任鏈模式)

目的

讓多個物件有機會處理某一訊息,降低訊息發送者與接收者之間的耦合。

他將接收者物件串連起來,讓訊息流經其中,直到被處理了為止。


結構

參與者

  • Handler – 處理的介面,(可有可無)實作能指向下一個處理者
  • ConcreteHander – 處理者,如果無法處理,則會試著丟給下一個處理者

優點

降低耦合 – 使用者不需要知道誰會處理,只要交付處理即可


範例

假設採購系統會根據金額呈核給上級

  • 1000 元以下,小組長即可簽核
  • 5000 元以下,組長可以簽核
  • 10000 元以下需主管簽核
  • 10000 元以上需老闆簽核

 

建立一個抽象類別

接著有點像串香腸的方式,一個一個接著

小組長簽核 : 

組長 : 

主管 : 

老闆 : 

建立一個類別供使用者呼叫

執行 : 

執行結果 : 

print

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *