责任链模式就是多个处理器一次处理同一个请求。一个请求先经过处理器A,再把请求传递给处理器B,从而形成一个链条
public abstract class AbstractHandler {protected AbstractHandler handler;public void setHandler(AbstractHandler handler) {this.handler = handler;}public abstract void handle();}
public class HandlerA extends AbstractHandler{@Overridepublic void handle() {System.out.println("处理器A处理");if (super.handler != null) {super.handler.handle();}}}
public class HandlerB extends AbstractHandler{@Overridepublic void handle() {System.out.println("处理器B处理");if (super.handler != null) {super.handler.handle();}}}
public class HandlerChain {private AbstractHandler head;private AbstractHandler tail;public void addHandler(AbstractHandler handler) {handler.setHandler(null);if (head == null) {head = handler;tail = handler;}tail.setHandler(handler);tail = handler;}public void handle() {if (head != null) {head.handle();}}}
