首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

设计模式实战 - 责任链模式

1 定义与类型

1.1 定义

  • 维基 它包含了一些命令对象和一系列的处理对象; 每一个处理对象决定它能处理哪些命令对象,它也知道如何将它不能处理的命令对象传递给该链中的下一个处理对象. 该模式还描述了往该处理链的末尾添加新的处理对象的方法.
  • 精简定义 为请求创建一个接收此次请求对象的链.

1.2 类型

行为型

2 适用场景

一个请求的处理需要多个对象当中的一个或几个协作处理 当然也包括需要全部的情况

3 优点

请求的发送者和接收者(请求的处理)解耦 责任链可以动态组合

4 缺点

  • 责任链太长或者处理时间过长,影响性能
  • 责任链有可能过多

5 # 相关设计模式 ~和状态模式

  • 各个对象并不指定下一个所要处理的对象者是谁,只有在客户端类设置链顺序及元素,知道被某个责任链处理或者整条链结束.
  • 每个状态知道自己下一个所要处理的对象者是谁,即在编译时确定

6 实战

  • 相关类
  • UML图
  • 测试类
  • 将博客注释掉
  • 调试过程

开始发布

框架源码应用

  • doFilter相当于 deploy 方法

参考

下一篇
举报
领券