多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 责任链模式 ### 客户端发出一个请求,链上的对象都有机会处理这个请求,而客户端不需要指导谁是具体的处理对象。 ### 让多个对象都有机会处理请求,避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条调用链条,并沿着这条链传递该请求,直到有一个对象处理它才终止 ### 有两个核心行为:一是处理请求;二是将请求传递到下一个节点 ### ## 应用场景 ### 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)