设计模式之职责链模式
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合。将这些对象连成一条链,沿着这条链传递该请求,直到有一个对象处理为止。
public abstract class Handler {
protected Handler handler;
public void setHandler(Handler handler) {
this.handler = handler;
}
public abstract void handlerRequest(int stamp);
}
public class Handler_A extends Handler{
@Override
public void handlerRequest(int stamp) {
if (stamp >= 0 && stamp < 5) {
System.out.println(this.getClass().getName() + ",处理:" + stamp);
} else if (handler != null) {
handler.handlerRequest(stamp);
}
}
}
public class Handler_B extends Handler {
@Override
public void handlerRequest(int stamp) {
if (stamp > 5) {
System.out.println(this.getClass().getName() + ",处理:" + stamp);
} else if (handler != null) {
handler.handlerRequest(stamp);
}
}
}
public class ChainDemo {
public static void main(String[] args) {
Handler handlerA = new Handler_A();
Handler handlerB = new Handler_B();
handlerA.setHandler(handlerB);
int[] stamps = {0, 1, 3, 5, 9, 11, 15};
for (int stamp : stamps) {
handlerA.handlerRequest(stamp);
}
}
}
知识的学习,要真诚与谦虚才不会有眼无珠,人生苦短,不能浪费时间做无用功。
人生学习最悲哀的不过是,因为无知傲慢错过真正的好东西,又因为无知贪婪在假东西上耗费生命。