301责任链模式

40 阅读1分钟

定义

责任链就是一种处理请求的模式,它让多个处理器有机会处理该请求,直到其中某个处理成功为止。责任链模式把多个处理器串成链,然后让请求在链上传递。

责任链模式将请求和处理分开。但是会降低性能,需要从链头走到链尾。

类图

图片1.png

代码

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 处理");
    }
}