Chain of Responsibility, Command, Mediator, and Observer address various ways of connecting senders and receivers of requests:
- Chain of Responsibility passes a request sequentially along a dynamic chain of potential receivers until one of them handles it
- Command establishes unidirectional connections between senders and receivers
- Mediator eliminates direct connections between senders and receivers, forcing them to communicate indirectly via a mediator object
- Observer lets receivers dynamically subscribe to and unsubscribe from receiving requests