行为模式:Chain Of Responsibility(职责链)
2013-02-07 19:48
405 查看
import java.util.*; abstract class Logger { public static int ERR = 3; public static int NOTICE = 5; public static int DEBUG = 7; protected int mask; // The next element in the chain of responsibility protected Logger next; public Logger setNext( Logger l) { next = l; return this; } public final void message( String msg, int priority ) { if ( priority <= mask ) { writeMessage( msg ); if ( next != null ) { next.message( msg, priority ); } } } protected abstract void writeMessage( String msg ); } class StdoutLogger extends Logger { public StdoutLogger( int mask ) { this.mask = mask; } protected void writeMessage( String msg ) { System.out.println( "Writting to stdout: " + msg ); } } class EmailLogger extends Logger { public EmailLogger( int mask ) { this.mask = mask; } protected void writeMessage( String msg ) { System.out.println( "Sending via email: " + msg ); } } class StderrLogger extends Logger { public StderrLogger( int mask ) { this.mask = mask; } protected void writeMessage( String msg ) { System.out.println( "Sending to stderr: " + msg ); } } public class ChainOfResponsibilityExample { public static void main( String[] args ) { // Build the chain of responsibility Logger l = new StdoutLogger( Logger.DEBUG).setNext( new EmailLogger( Logger.NOTICE ).setNext( new StderrLogger( Logger.ERR ) ) ); // Handled by StdoutLogger l.message( "Entering function y.", Logger.DEBUG ); // Handled by StdoutLogger and EmailLogger l.message( "Step1 completed.", Logger.NOTICE ); // Handled by all three loggers l.message( "An error has occurred.", Logger.ERR ); } }
相关文章推荐
- 【设计模式基础】行为模式 - 3 - 职责链(Chain of responsibility)
- 设计模式:行为模式:职责链(chain of responsibility)
- 设计模式 ( 十二 ) 职责链模式(Chain of Responsibility)(对象行为)
- 行为类模式(一):职责链(Chain Of Responsibility)
- 设计模式 ( 十二 ) 职责链模式(Chain of Responsibility)(对象行为
- 【设计模式】行为模式之Chain of Responsibility职责链
- 设计模式 ( 十二 ) 职责链模式(Chain of Responsibility)(对象行为
- 设计模式 ( 十二 ) 职责链模式(Chain of Responsibility)(对象行为)
- 行为模式之Chain of Responsibility(职责链)
- 设计模式 ( 十二 ) 职责链模式(Chain of Responsibility)(对象行为
- 【设计模式学习笔记十四】【行为模式】【职责链模式(Chain Of Responsibility)】
- 设计模式 ( 十二 ) 职责链模式(Chain of Responsibility)(对象行为)
- 职责链(Chain of Responsibility)模式
- 行为模式之Chain of Responsibility模式
- 职责链模式(Chain of Responsibility)
- 设计模式(15)-职责链模式(Chain of Responsibility)
- 设计模式学习笔记(十九)—Chain of Responsibility职责链模式
- 重温设计模式(三)——职责链模式(chain of responsibility)
- 设计模式之Chain of Responsibility(职责链)
- 设计模式之Chain of Responsibility(职责链)