首页/开发/代码质量与评审速查/责任链模式 Chain of Responsibility(行为型)
设计原则与模式62 条

责任链模式 Chain of Responsibility(行为型)

让多个处理者依次尝试处理请求,各自决定是否继续传递:适合可组合的校验、审批、过滤管线;链的装配顺序与终止条件要显式,避免请求无人处理。

意图请求沿链传递、处理者解耦
场景审批流、校验链、过滤链、中间件
要点终态处理与顺序显式化

Java 示例

Java 示例
abstract class Handler {
    Handler next;
    void handle(Req r) {
        if (canHandle(r)) process(r);
        else if (next != null) next.handle(r);
        else throw new IllegalStateException("no handler");
    }
}

易错点

  • 链无兜底:所有节点放过导致静默失败
  • 处理顺序依赖隐式装配:行为随环境漂移

数据来源与参考

  • 《设计模式》(GoF)· Chain of Responsibility
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌