java设计模式——责任链模式
2016-05-31 00:00
543 查看
设置一系列处理器,当第一个处理器无法解决问题时,将问题抛向下一个处理器,以此类推,直到找到能够解决的那个处理器,或者没有处理器可以解决。
抽象处理器角色:
具体处理器角色:
http://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html
抽象处理器角色:
public abstract class Handler { /** * 持有后继的责任对象 */ protected Handler successor; /** * 示意处理请求的方法,虽然这个示意方法是没有传入参数的 * 但实际是可以传入参数的,根据具体需要来选择是否传递参数 */ public abstract void handleRequest(); /** * 取值方法 */ public Handler getSuccessor() { return successor; } /** * 赋值方法,设置后继的责任对象 */ public void setSuccessor(Handler successor) { this.successor = successor; } }
具体处理器角色:
public class ConcreteHandler extends Handler { /** * 处理方法,调用此方法处理请求 */ @Override public void handleRequest() { /** * 判断是否有后继的责任对象 * 如果有,就转发请求给后继的责任对象 * 如果没有,则处理请求 */ if(getSuccessor() != null) { System.out.println("放过请求"); getSuccessor().handleRequest(); }else { System.out.println("处理请求"); } } }
http://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html
相关文章推荐
- java设计模式——桥接模式
- spring mvc 的工作原理(1)DispatcherServlet 请求处理流程
- 使用Eclipse构建Maven的SpringMVC项目
- 建立Dynamic Web project转成Maven项目方法
- Spring事务配置
- Java线程(二):线程同步synchronized和volatile
- 枚举
- 泛型
- springmvc的上传功能
- Java Connection.setAutoCommit使用的注意事项
- Java中文件、文件目录的删除操作
- MyEclipse 启动报错:'Building workspace' has encountere
- MyEclipse修改jsp模板文件
- 如何优化myEclipse 启动速度
- Java ConcurrentModificationException 异常分析与解决方案
- 好习惯:Java内存管理
- Java线程(一):线程安全与不安全
- Spring-事务处理
- [原创]java WEB学习笔记29:Cookie Demo 之自动登录
- Java编程思想第四版第十章学习——内部类(1)