大话设计模式24:职责链模式
目录
大话设计模式:24.职责链模式
迭代器模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止
TL;DR:在请求处理结构中,通过保存后继者引用,而无需保存所有候选者接受者引用,大大降低耦合度
1.优点
- 当客户提交一个请求时,请求是沿链传递直至有一个 ConcreteHandler 对象负责处理它,使得接受者和发送者都没有对方的明确信息,且链中的对象也不知道链的结构,简化了对象的相互连接
- 可以随时增加或修改处理一个请求的结构,增强对象指派职责的灵活性
2.实现细节
- Handler:抽象处理者类,包含一个继任者 Handler,并定义处理请求的接口
- ConcreteHandler:具体处理者类,处理它所负责的请求,可访问它的后继者,如果可处理该请求就处理,否则将请求转发给继任者
3.使用场景
- 请求处理存在层次结构时