设计模式之---责任链模式
来源:互联网 发布:gif图编辑软件 编辑:程序博客网 时间:2024/04/30 11:25
什么是链
1、链是一系列节点的集合。
1、链是一系列节点的集合。
2.、链的各节点可灵活拆分再重组。
职责链模式
使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,
将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。
其实刚开始我觉得这个模式和装饰者模式有点像,但两个模式的应用场景是不一样的。装饰者模式是适用于动态添加功能的,而责任链模式则是倾向于处理一个流程操作,把每个操作单独封装,形成一条工作链。
package chain;public abstract class Handler {/** * 持有后继的责任对象 */ protected Handler handler; /** * 示意处理请求的方法,虽然这个示意方法是没有传入参数的 * 但实际是可以传入参数的,根据具体需要来选择是否传递参数 */ public abstract void doRequest(); /** * 赋值方法,设置后继的责任对象 */ public void setSuccessor(Handler handler) { this.handler = handler; }}
package chain;public class Interceptor extends Handler {@Overridepublic void doRequest() {// TODO Auto-generated method stubif(null!=handler) {System.out.println("拦截请求");handler.doRequest();}System.out.println("收尾操作");}}
package chain;public class TransCoding extends Handler {@Overridepublic void doRequest() {// TODO Auto-generated method stubif(null!=handler) {handler.doRequest();}System.out.println("转码操作");System.out.println("转码成功");}}
package chain;public class Client {public static void main(String[] args) {// TODO Auto-generated method stubHandler interceptor=new Interceptor();Handler transCodingHandler=new TransCoding();interceptor.setSuccessor(transCodingHandler);interceptor.doRequest();}}
1 0
- 设计模式之责任链
- 设计模式之责任链
- 设计模式之【责任链】
- 设计模式之责任链
- 设计模式之责任链
- 设计模式之责任链
- 十 设计模式之责任链模式
- 设计模式之--责任链模式
- 设计模式之责任链模式
- 设计模式之责任链模式
- 【设计模式】之责任链模式
- java设计模式之责任链模式
- 设计模式之(责任链模式)
- 设计模式之--责任链模式
- 设计模式之责任链模式
- 设计模式之责任链模式
- 设计模式之责任链模式
- 设计模式之责任链模式
- if else语句的使用
- JVM之运行时数据区域
- 5
- Centos7.0设置开机启动Tomcat
- 字符串12:最长无重复字符子串练习题
- 设计模式之---责任链模式
- OSPF协议之详细图解
- android 微信红包 hook 版控制金额尾数原理
- 排序:排序面试指南
- Unity制作《水果忍者》刀光特效
- DIY心形流水灯
- 动态布局
- 3分钟弄明白JAVA三大修饰符
- sublime text 3 + python配置,完整搭建及常用插件安装