定义
责任链就是一种处理请求的模式,它让多个处理器有机会处理该请求,直到其中某个处理成功为止。责任链模式把多个处理器串成链,然后让请求在链上传递。
责任链模式将请求和处理分开。但是会降低性能,需要从链头走到链尾。
类图
代码
public class ChainRespPattern {
public static void main(String[] args) {
Handler level1= new Leader();
Handler level2= new Boss();
level1.setNextHandler(level2);
level1.process(10);
level2.process(11);
}
}
abstract class Handler{
protected Handler nextHandler;
public void setNextHandler(Handler nextHandler){ this.nextHandler=nextHandler;
}
public abstract void process(Integer info);
}
class Leader extends Handler{
@Override
public void process(Integer info) {
if(info>0&&info<11){
System.out.println("leader 处理");
}else{
nextHandler.process(info);
}
}
}
class Boss extends Handler{
@Override
public void process(Integer info) {
System.out.println("boss 处理");
}
}