正在参加2022年度博客之星评选,大家帮我点个五星好评。有投必会
责任链的优势劣势我就不说,百度上很多。
1、怎么:动态配置责任链
通过配置文件yml来指定你的责任链的执行顺序。
地址
配置文件如何配置,怎么读取
为什么:动态配置责任链
为了方便配置这个链条的执行顺序,任意剔除其中某一链条。才采取的种方式。(好处)
责任链模式逻辑处理优化
一个for搞定
上代码 优化写法
老思想逻辑处理写法
老写法
缺点:违背设计原则:对扩展开放,对修改关闭
- 每增加一个链条,都要去重写一下对象使用调度
gitee类:PackCheck
类图
Component:类加入Spring容器中,交给他来管理
AbstractCheck: 抽象出来一个校验的类。具体的实现交给子类执行;
NullCheck 空值校验
DaysCheck.java:天数校验
CheckConfig:配置类 指定 链条 执行顺序
PackCheck:封装链条
注意 :在责任链的这个链条中,参数必须是同一对象。层层传递下一引用可以封装。
场景:流程审批、过滤器、层层校验
源码地址
代码执行结果
- http://localhost:8080/check/get
- http://localhost:8080/check/for
- http://localhost:8080/check/old
视频讲解
抖音版