🥕 责任链模式

吞佛童子2022年6月20日
  • 设计模式
  • 行为型
  • 责任链模式
大约 3 分钟

🥕 责任链模式

1. 概述

1) 是什么

  • 在责任链模式中,很多对象由每一个对象对其下家的引用而接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。
  • 客户并不知道链上的哪一个对象最终处理这个请求,系统可以在不影响客户端的情况下动态的重新组织链和分配责任
  • 处理者有两个选择:承担责任或者把责任推给下家。
  • 一个请求可以最终不被任何接收端对象所接受

2) 优点

3) 缺点


2. 代码示例

1) 场景 & 目标

public class ServiceImpl {
    public void checkNullParam(Object param){
      //参数非空校验 ...
      throw new RuntimeException();
    }
    public void checkSecurity(){
      //安全校验 ...
      throw new RuntimeException();
    }
    public void checkRule(){
        //规则拦截 ...
        throw new RuntimeException();
    }

    public static void main(String[] args) {
        ServiceImpl service= new ServiceImpl();
        try{
            service.checkNullParam();
            service.checkSecurity ();
            service.checkRule();
            System.out.println("service check done: success");
        }catch (RuntimeException e){
            System.out.println("service check done: fail");
        }
    }
}

2) 代码示例


3. 应用

1) ServletFilter

  • SpringMVC 中的 ServletFilter
上次编辑于: 2022/6/20 下午8:24:47
贡献者: liuxianzhishou