顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。

在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。

创建管道(流程)

java 实现责任链模式 java责任链模式优雅实现_源地址


给管道定义一个抽象方法

java 实现责任链模式 java责任链模式优雅实现_设计模式_02


再创建节点

java 实现责任链模式 java责任链模式优雅实现_删除节点_03


各自重写方法达到实现各自流程的目的

java 实现责任链模式 java责任链模式优雅实现_java 实现责任链模式_04


java 实现责任链模式 java责任链模式优雅实现_java 实现责任链模式_05


java 实现责任链模式 java责任链模式优雅实现_设计模式_06


再新建一个链表

java 实现责任链模式 java责任链模式优雅实现_java_07


把节点添加进去 就相当于一个水管 里面放着三段不同的管道

一杯水 要流这个管道 那必定经过我们设置的三段管道

接下来运行

java 实现责任链模式 java责任链模式优雅实现_java 实现责任链模式_08


java 实现责任链模式 java责任链模式优雅实现_源地址_09


这样一段简易责任链就执行完了

接下来谈谈我对责任链的看法:

  • 它是一个链式的执行方案 它是一个黑盒
    输入不用知道里面有什么 输出也不用知道里面有什么,只要把东西输入进来 让其经过这几个流程就可以得到你想要的东西
  • 它可以进行互相的转变 节点互相改变位置 它都可以完整的执行完不管是加节点或者删除节点都不会影响
    里面的几个节点是可以随意组合的
  • 每一个使用这个责任链的人都会执行一模一样的操作顺序

感谢观看,您的支持是对我创作的最大动力~~