## 责任链模式
###
客户端发出一个请求,链上的对象都有机会处理这个请求,而客户端不需要指导谁是具体的处理对象。
###
让多个对象都有机会处理请求,避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条调用链条,并沿着这条链传递该请求,直到有一个对象处理它才终止
###
有两个核心行为:一是处理请求;二是将请求传递到下一个节点
###
## 应用场景
###
SpringBoot里面的拦截器、过滤器
###
在请求处理者不明确的情况下向多个对象中的一个提交请求
###
如果有多个对象可以处理同一个请求,但是具体由哪个对象处理是由运行时刻动态决定的,这种对象就可以使用责任链模式
###
![](https://img.kancloud.cn/81/9b/819bb4d9e69dbdd4121c05140c411406_1762x868.png)
###
## 具体实现(**云效代码study-java项目当中设计模式当中有代码案例**)
###
业务需求
###
⻛控规则,就是对于每个场景,定义⼀些规则,来进⾏相应的控制,⽐如银⾏借款、⽀付宝提现、⼤额转账等 会触发不同的策略。
像互联⽹⾦融⾏业的话,除了公司内部政策,所处的外部环境经常发⽣变化,⽐如国家经常会出政策,这些都经常需要调整相应的⻛控参数和⻛控级别。
例⼦:⽀付宝转账,根据转账额度不同,会触发的⻛控级别不⼀样,1000元以下直接转,1千到1万需要⼿机号验证码,1万到以上需要刷脸验证。
###
![](https://img.kancloud.cn/4d/7f/4d7f2e4d211d75d7f0d7d834a0cc2ab8_1836x1012.png)
###
![](https://img.kancloud.cn/9a/f8/9af8a6055326f58e3f7dda1e88db181f_2781x1601.png)
###
![](https://img.kancloud.cn/76/a9/76a92e6fd4b0cda5a7c6e5aaaba297bb_2868x1700.png)
###
![](https://img.kancloud.cn/2b/db/2bdbe4a0e106697486fb97a7ac98fca3_2869x1680.png)
###
![](https://img.kancloud.cn/24/18/2418d3dae82854942319fb82c45508b7_2874x1674.png)
###
![](https://img.kancloud.cn/af/e1/afe103cb30149a64dbad0ecda57a431d_2865x1678.png)
###
![](https://img.kancloud.cn/70/95/70953c87946395a69964d92c2226c611_2804x1561.png)
###
![](https://img.kancloud.cn/c2/81/c281c51fb269c733d42a3e72d7a7fc3f_2870x1656.png)
- 设计模式六大原则
- 常见的三大设计模式分类
- 创建型模式之单例模式
- 单例模式之懒汉
- 单例模式之饿汉
- 单例模式之如何选择懒汉饿汉
- 什么情况下使用单例模式
- 创建型模式之工厂模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 创建型模式之原型模式
- 创建型模式之建造者模式
- 结构型模式之适配器模式
- 接口的适配器模式
- 类的适配器模式
- 结构型模式之桥接模式
- 结构型模式之桥接模式和适配器模式的区别
- 结构型模式之装饰器模式
- 结构型模式之代理模式
- 结构模式之外观模式
- 结构模式之享元模式
- 行为模式之策略模式
- 行为模式之模板模式
- 行为模式之观察者模式
- 行为模式之责任链模式
- 行为模式之命令模式
- 行为模式之迭代器模式
- 行为模式之备忘录模式
- 行为模式之状态模式