目录

大话设计模式24:职责链模式

大话设计模式:24.职责链模式

迭代器模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止

TL;DR:在请求处理结构中,通过保存后继者引用,而无需保存所有候选者接受者引用,大大降低耦合度

职责链模式结构图

1.优点

  1. 当客户提交一个请求时,请求是沿链传递直至有一个 ConcreteHandler 对象负责处理它,使得接受者和发送者都没有对方的明确信息,且链中的对象也不知道链的结构,简化了对象的相互连接
  2. 可以随时增加或修改处理一个请求的结构,增强对象指派职责的灵活性

2.实现细节

  1. Handler:抽象处理者类,包含一个继任者 Handler,并定义处理请求的接口
  2. ConcreteHandler:具体处理者类,处理它所负责的请求,可访问它的后继者,如果可处理该请求就处理,否则将请求转发给继任者

3.使用场景

  1. 请求处理存在层次结构时