读书人

责任链方式

发布时间: 2012-07-22 19:31:16 作者: rapoo

责任链模式
责任链模式就是将请求和处理分开了, 定义一个责任链, 请求不需要关心是怎样处理的, 请求沿着责任链传递, 直到找到能处理该请求的handler为止。

先看看AbstractRequest

public class Client {public static void main(String[] args) {// 先定义两个RequestRequest normalRequest = new NormalRequest(Type.NORMAL, "normal request");Request specialRequest = new SpecialRequest(Type.SPECIAL,"special request");// 定义两个HandlerHandler normalHandler = new NormalHandler();Handler specialHandler = new SpecialHandler();// 指定责任链的顺序normalHandler.setNextHandler(specialHandler);// 处理RequestnormalHandler.handle(normalRequest);normalHandler.handle(specialRequest);System.out.println();// 重新设置责任链顺序normalHandler.setNextHandler(null);specialHandler.setNextHandler(normalHandler);// 再处理specialHandler.handle(normalRequest);specialHandler.handle(specialRequest);}}


好了, 看看执行结果:
引用normal request has been handled
You may need some time to wait special request got handled

normal request has been handled
You may need some time to wait special request got handled

读书人网 >软件架构设计

热点推荐