【备忘】责任链模式cor(chain of responsibility)
public abstract class Handler { protected Handler successor; protected String name; public String getName() { return name; } //处理请求,由子类完成 public abstract void handleRequest(String request); //设置下一个处理请求的人 public void setNextHandler(Handler successor) { this.successor = successor; } } ??? ? ? 事实上,跟数据结构里的链表差不多。?? ? ? 然后每个继承Handle的类分别实现handleRequest方法。
public class HandleA extends Handle {public void handRequest(Request req){if(req.condition1){doSomething();}else{ successor.handleRequest();}}}?? ? ? ??最后在main方法中对每个类的对象设置后继结点即可。Handle h1 = new HandleA();Handle h2 = new HandleB();Handle h3 = new HandleC();h1.setNextHandler(h2);h2.setNextHandler(h3);String req = "XXXXXXX";h1.handleRequest(request);?