概念
使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。
将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它位置

注意:请求发送到链中后,签一节消费部分消息,交给后续节点继续处理,可以由处理结果也可以没有处理结果,链是有谁构成的呢?链是有多个处理者构成的。


优点

  • 将请求和处理分开(请求者无需知道是谁处理了它)

  • 耦合性不高(他们之间保持一个指向其后继者的引用)

  • 提高系统的灵活性(可以随时增加或修改处理一个请求的结构)


缺点

  • 性能不高
  • 调试不变

为什么会出现这样的问题呢?本质上讲还是因为链条比较长,环节多。


结构图

设计模式--职责链模式


职责
抽象的处理者的职责:

  • 定义请求的处理方法
  • 设置下一个处理者
  • 定义具体的请求者必须实现的两个方法

小总
此模式,就是按照职责/责任老分配处理任务的,举个例子,你去办理业务会接触到总经理马?不会,你会先接触到业务员,我们与业务员直接接触如果业务员不能够满足你的需求,那么我们就会接触到业务员的上一层,这就是一个职责链(责任链),我们先从最小的处理者还是处理,不能处理则转到下一权限者处。

相关文章: