Chain of Responsibility
- 目的
- 構造
- 應用
- 結論
目的
- 禁止請求發送者同多個接收者的耦合。
- 接收者鏈不斷傳遞請求直到能夠解決請求。
構造
- Handler : 定義一個處理請求的接口.
- ConcreteHandler : 處理它負責的請求,可以傳遞到下一個接收者。如果它可以處理該請求,則不會傳遞到下一個接收者,否則相反。
- Client : 初始化請求。
應用
- 一個或多個對象會處理一個請求,接收者應該先驗證請求是否可以處理。
- 返回處理後的請求但是並不知道是那個接收者處理的。
- 接收者集合需要動態指定先後順序。
結論
- 降低耦合.
- 靈活地添加對象的職責.
- 請求並不會保證一定被處理.