标签:pre handler 客户端 blog font java设计 turn 定义 logs
一、什么是责任链模式?
责任链模式是指多个对象,能够依次的对传递过来的信息进行处理,并传递给下一个对象,直到处理完毕。
二、责任链有哪些角色?
三、代码详解:
抽象类:
public abstract class Handler { /** * 下一个处理者 */ private Handler target; public Handler getTarget() { return target; } public void setTarget(Handler target) { this.target = target; } public abstract void process(); }
具体实现者A:
public class Handler_A extends Handler { @Override public void process() { Handler handler = getTarget(); if (handler == null) { System.out.println("A处理后, 直接返回结果"); return; } else { System.out.println("A处理后,返回个下一个handler继续处理"); handler.process(); } } }
具体实现者B:
public class Handler_B extends Handler{ @Override public void process() { Handler handler = getTarget(); if (handler == null) { System.out.println("B处理后, 直接返回结果"); return; } else { System.out.println("B处理后,返回个下一个handler继续处理"); handler.process(); } } }
客户端:
public class Client { public static void main(String[] args) { Handler handlerA = new Handler_A(); Handler handlerB = new Handler_B(); handlerA.setTarget(handlerB); handlerA.process(); } }
结果打印:
A处理后,返回个下一个handler继续处理
B处理后, 直接返回结果
标签:pre handler 客户端 blog font java设计 turn 定义 logs
原文地址:http://www.cnblogs.com/lfdingye/p/7789061.html