设计模式之职责链模式
Posted emoji-emoji
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之职责链模式相关的知识,希望对你有一定的参考价值。
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合。将这些对象连成一条链,沿着这条链传递该请求,直到有一个对象处理为止。
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);
}
}
}
以上是关于设计模式之职责链模式的主要内容,如果未能解决你的问题,请参考以下文章