责任链模式是一种处理请求的模式,它让多个处理器都有机会处理该请求,直到其中某个处理成功位置,责任链模式把多个处理器串成链,然后让请求在链上传递。
责任链模式将请求和处理分开,请求者不知道谁去处理,处理者也不需要知道请求的全貌,可以提高系统灵活性。
package com.learn.shejimoshi.责任链模式;public class Client {public static void main(String[] args) {Handler level1 = new Leader();Handler level2 = new Boss();level1.setNextHandler(level2);level1.process(10);// 虽然是给level1去处理,但实际上是Boss在处理level1.process(13);}}abstract class Handler{protected Handler nextHandler;public void setNextHandler(Handler nextHandler) {this.nextHandler = nextHandler;}public abstract void process(Integer info);}class Leader extends Handler{@Overridepublic void process(Integer info) {if(info>0 && info<11){System.out.println("Leader处理");}else{nextHandler.process(info);}}}class Boss extends Handler{@Overridepublic void process(Integer info) {System.out.println("Boss处理");}}
