责任链和建造者设计模式结合
public abstract class Handler<T> {
protected Handler chain;
public void next(Handler handler) {
this.chain = handler;
}
public abstract void doHandler(Object object);// 入参要处理的参数
public static class Builder<T> {
private Handler<T> head;
private Handler<T> tail;
public Builder<T> buildHandler(Handler<T> handler) {
if (this.head == null) {
this.head = this.tail = handler;
return this;
}
this.tail.next(handler);
this.tail = handler;
return this;
}
public Handler<T> build() {
return this.head;
}
}
}
class TestDemo {
public static void main(String[] args) {
Handler.Builder builder = new Handler.Builder();
Handler handler = builder.buildHandler(new ImpleHandler1()).buildHandler(new ImpleHandler1()).build();
handler.doHandler(params);// 入参要处理的参数
}
}