1 责任链模式
2 实现代码
abstract class AbstractLogger{
public static int Info = 1;
public static int Error = 3;
protected int level;
protected AbstractLogger nextLogger;
public void setNextLogger(AbstractLogger abstractLogger){
nextLogger = abstractLogger;
}
public void logMessage(int level){
if (this.level <= level){
write();
}
if (nextLogger != null){
nextLogger.logMessage(level);
}
}
abstract protected void write();
}
class ConsoleLog extends AbstractLogger{
public ConsoleLog(int level){
this.level = level;
}
@Override
public void write() {
System.out.println("console Log");
}
}
class ErrorLog extends AbstractLogger{
public ErrorLog(int level){
this.level = level;
}
@Override
public void write() {
System.out.println("Error Log");
}
}
public class Test{
public static AbstractLogger getLogger(){
AbstractLogger errorLog = new ErrorLog(AbstractLogger.Error);
AbstractLogger infoLog = new ConsoleLog(AbstractLogger.Info);
errorLog.setNextLogger(infoLog);
return errorLog;
}
public static void main(String[] args){
AbstractLogger abstractLogger = getLogger();
abstractLogger.logMessage(AbstractLogger.Error);
abstractLogger.logMessage(AbstractLogger.Info);
}
}