九,责任链模式
来源:互联网 发布:工业控制网络 pdf 编辑:程序博客网 时间:2024/05/17 23:27
责任链中存在的角色
抽象处理者
定义出一个处理请求的接口,如果需要,接口可以定义出一个方法,以设定和返回对下家的引用。这个角色通常由一个Java抽象类或者Java接口实现。
具体助理者
具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下家,由于具体处理者持有对下家的引用,因此,如果需要,具体处理者可以访问下家。
责任链模式结构图
代码演示
抽象处理者
package com.demo.design_pattern;/** * 抽象处理者 * @author Programmer * */public abstract class Handler { //对自身的引用 protected Handler next; protected String name; /** * 设定和获取对下一家处理者 * @param next */ public void setNext(Handler next) { this.next = next; } public Handler getNext() { return next; } //设置别名 public String getName() { return name; } public void setName(String name) { this.name = name; } //处理方法,调用此方法处理请求 public abstract void handle();}
具体处理者
package com.demo.design_pattern;public class ConcreteHandler extends Handler { @Override public void handle() { // TODO Auto-generated method stub if(getNext() != null){ System.out.println("请求分发到下一级处理者"+getNext().name); getNext().handle(); }else { System.out.println("处理者"+this.name+"已经处理了请求"); } }}
客户端
package com.demo.design_pattern;public class Client { static private Handler firstHander,secondHandler; public static void main(String[] args) { firstHander = new ConcreteHandler(); firstHander.setName("firstHandler"); secondHandler = new ConcreteHandler(); secondHandler.setName("secondHandler"); firstHander.setNext(secondHandler); firstHander.handle(); }}
阅读全文
0 0
- 九,责任链模式
- Java设计模式(九)责任链模式 命令模式
- 设计模式(九)之责任链模式
- 《Android源码设计模式解析与实战》读书笔记(九)——责任链模式
- 责任链模式
- 深入浅出责任链模式
- 责任链模式
- 责任链模式
- 深入浅出责任链模式
- 责任链模式(一)
- 责任链模式(二)
- 责任链模式(三)
- 责任链模式
- java责任链模式
- 责任链模式
- 责任链模式
- 责任链模式
- 责任链模式
- freemarker自定义函数
- C#超大字体书写
- Python练习题 10-3~10-4 访客问题
- android 获取路径目录方法以及判断目录是否存在,创建目录
- 创意封装OkHttp,简单易用,你还在等什么呢?
- 九,责任链模式
- vs2015安装或升级第三方组件
- 幽默经典语录
- 套接字(-)
- 事件JavaScript API
- Python编码错误的解决方案
- 解决bootstrap-table多次请求只触发一次的问题
- Android Studio 完美修改应用包名
- 数据库的操作