🥕 责任链模式
2022年6月20日
- 设计模式
🥕 责任链模式
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