Chain of ResponsibilityCommandMediator, 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