责任链模式

责任链模式定义

一个请求有多个对象来处理,这些对象使一个链,但具体由哪个对象来处理,根据条件判断来确定,如果不能处理会传递给该链表中的下一个对象,直到有对象处理它为止。

责任链模式详解

使用场景

有多个对象处理请求,需要动态的处理的时候,可以使用责任链模式。

图解

22 责任链模式流程图.png

责任链模式优缺点

优点

  1. 降低了耦合度,客户端不需要知道请求由哪个处理者处理了,而处理者也不需要知道各个处理者之间的传递关系,由系统组织和分配。
  2. 拥有良好的扩展性,增加处理者的实现很简单,只需要重写处理请求业务逻辑的方法。

缺点

  1. 请求会从链头发出,直到有处理响应,在责任链比较长的时候会比较影响性能。

  2. 请求的传递,在调式的时候比较麻烦。

责任链模式总结

设计模式中责任链模式不在使用简单的 if else 逻辑,使代码里面的一个方法太臃肿,太庞大,阅读性不好,通过责任链模式可以使各个业务编写的时候比较清晰,职责分明。