责任链模式:为请求创建了一个接收者对象的链,这种模式给予请求的类型,对请求的发送者和接受者进行解耦。
意图:避免请求发送者与接受者耦合在一起,让多个对象都有可能接收请求,经这些对象连接成一条链,并且沿着这条链传递请求,直到处理它为止。
主要解决:责任链上的处理者负责处理请求,客户只需要将请求方到职责链上即可,无须关系请求的处理细节和请求的传递,所以职责链经请求的发送者和请求的处理解耦了。
1.创建抽象的记录器类
AbstractLogger.java
public abstract class AbstractLogger{
public static int INFO=1;
public static int DEBUG=2;
public static int ERROR=3;
protected AbstractLogger nextLogger;
public void setNextLogger(AbstractLogger nextLogger){
this.nextLogger=nextLogger;
}
public void logMessage(int level,String message){
if(this.level<=level){
write(message);
}
if(nextlogger=null){
nextlogger.logMessage(level,message);
}
}
}