责任链模式 (Chain of Responsibility Pattern)
使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系
一、模式概述
1.1 定义
责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。
1.2 适用场景
- 有多个对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定
- 你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求
- 可处理一个请求的对象集合应被动态指定
1.3 优缺点
| 优点 | 缺点 |
|---|---|
| 降低耦合度 | 不能保证请求一定被接收 |
| 增强了给对象指派职责的灵活性 | 可能不容易观察运行时的特征 |
| 符合开闭原则 | 可能降低系统性能 |