设计模式-责任链模式之**动态配置责任链**

责任链的优势劣势我就不说,百度上很多。

1、怎么:动态配置责任链

通过配置文件yml来指定你的责任链的执行顺序。
地址
设计模式-责任链模式之**动态配置责任链**_第1张图片
配置文件如何配置,怎么读取

为什么:动态配置责任链

为了方便配置这个链条的执行顺序,任意剔除其中某一链条。才采取的种方式。(好处)

责任链模式逻辑处理优化

一个for搞定

上代码 优化写法设计模式-责任链模式之**动态配置责任链**_第2张图片

老思想逻辑处理写法

设计模式-责任链模式之**动态配置责任链**_第3张图片

老写法

缺点:违背设计原则:对扩展开放,对修改关闭
设计模式-责任链模式之**动态配置责任链**_第4张图片

  • 每增加一个链条,都要去重写一下对象使用调度
    gitee类:PackCheck

类图

设计模式-责任链模式之**动态配置责任链**_第5张图片
Component:类加入Spring容器中,交给他来管理
AbstractCheck: 抽象出来一个校验的类。具体的实现交给子类执行;
设计模式-责任链模式之**动态配置责任链**_第6张图片

NullCheck 空值校验
DaysCheck.java:天数校验
CheckConfig:配置类 指定 链条 执行顺序
PackCheck:封装链条

注意 :在责任链的这个链条中,参数必须是同一对象。层层传递下一引用可以封装。

场景:流程审批、过滤器、层层校验

源码地址

代码执行结果

设计模式-责任链模式之**动态配置责任链**_第7张图片

  • http://localhost:8080/check/get
    设计模式-责任链模式之**动态配置责任链**_第8张图片
  • http://localhost:8080/check/for
    设计模式-责任链模式之**动态配置责任链**_第9张图片
  • http://localhost:8080/check/old
    设计模式-责任链模式之**动态配置责任链**_第10张图片

视频讲解

抖音版

你可能感兴趣的:(设计模式,Java,设计模式,责任链模式,java)