簡介
Chain of Responsibility Pattern(責任鏈模式)是一種行為型設計模式,讓多個物件有機會處理請求,並將這些物件串成一條鏈。
問題
當多個物件都有機會處理請求,但最終只需一個物件處理時。
解決方案
將處理者串成鏈,請求沿鏈傳遞,直到有物件處理。
C# 範例
public abstract class Handler {
protected Handler next;
public void SetNext(Handler handler) { next = handler; }
public abstract void HandleRequest(int request);
}
public class ConcreteHandlerA : Handler {
public override void HandleRequest(int request) {
if (request < 10) Console.WriteLine("A處理");
else next?.HandleRequest(request);
}
}
結論
Chain of Responsibility Pattern 讓請求處理更靈活、可擴充。