Skip to content

10、职责链模式

案例

  • 高峰公交硬币传递

特点

  • 一系列可能会处理请求的对象被连接成一条链,
  • 请求在这些对象之间依次传递,
  • 直到遇到一个可以处理它的对象

最大优点

  • 请求发送者只需要知道链中的第一个节点,从而弱化了发送者和一组接收者之间的强联系

改进结果

  • 每种订单都有各自的处理函数而互不影响
  • 使用了职责链模式之后,链中的节点对象可以灵活地拆分重组
  • 可以手动指定起始节点

弊端

  • 链尾增加一个保底的接受者节点来处理这种即将离开链尾的请求
  • 大部分节点并没有起到实质性的作用,它们的作用仅仅是让请求传递下去