簡介

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 讓請求處理更靈活、可擴充。