Skip to main content
Design Patterns design recommended

Observer Pattern & Pub/Sub

The Observer Pattern establishes a one-to-many dependency between objects, so when one object changes state, all dependents are notified. Includes event-driven and publish/subscribe variations.

Difficulty
intermediate
Read time
1 min read
Version
v1.0.0
Confidence
established
Last updated

Quick Reference

Observer/Pub-Sub: Decouple event producers from consumers. Observer - subject knows observers directly. Pub/Sub - message broker mediates. Use for: domain events, WebSocket broadcast, UI state updates, async notifications. Always unsubscribe to prevent memory leaks.

Use When

  • One-to-many event notification
  • Decoupling event producers from consumers
  • Cross-cutting concerns (logging, analytics)
  • Real-time updates (WebSocket, SSE)

Skip When

  • Simple method calls suffice
  • Only one consumer exists
  • Synchronous, direct communication is better

Observer Pattern & Pub/Sub

The Observer Pattern establishes a one-to-many dependency between objects, so when one object changes state, all dependents are notified. Includes event-driven and publish/subscribe variations.

Tags

observer pub-sub events design-patterns behavioral

Discussion