10、职责链模式
案例
- 高峰公交硬币传递
特点
- 一系列可能会处理请求的对象被连接成一条链,
- 请求在这些对象之间依次传递,
- 直到遇到一个可以处理它的对象
最大优点
- 请求发送者只需要知道链中的第一个节点,从而弱化了发送者和一组接收者之间的强联系
改进结果
- 每种订单都有各自的处理函数而互不影响
- 使用了职责链模式之后,链中的节点对象可以灵活地拆分重组
- 可以手动指定起始节点
弊端
- 链尾增加一个保底的接受者节点来处理这种即将离开链尾的请求
- 大部分节点并没有起到实质性的作用,它们的作用仅仅是让请求传递下去