Intent
Avoid coupling the sender of a request to its receiver by giving more than
one object a chance to handle the request. Chain the receiving objects and
pass the request along the chain.
Applicability
- issue a request without having to know the receiver
- more than one object may handle a request
Structure
[to do: diagram with multiple Handlers]
Consequences
- reduced coupling
- sender and receiver don't have to know each other
- hierarchical responsibilities
- request can fall off the end of a chain without being handled
Implementation
- common base class or interfaces define operations that are propagated
along the chain
Related Patterns
- often used in conjunction with Composite
- Component's parent acts as successor
Uses in JHotDraw