Observer Pattern

Status: draft · Confidence: medium (0.635) · Basis: verified_sources

Quality notes: generic_source_homepage, no_verified_sources, partial_source_verification

## TL;DR

One-to-many dependency — when subject changes, all observers are notified. Foundation of event-driven programming, MVC, React state updates, Redux.

## Core Explanation

Subject maintains observer list and notify(). Push (pass data) vs. pull (observers query). JavaScript: EventEmitter pattern, addEventListener. React: setState triggers re-render (observer pattern with virtual DOM diffing). RxJS: Observable streams with operators (map, filter, debounce).

## Further Reading

- [Design Patterns (Gang of Four)](undefined)

## Related Articles

- [Adapter Pattern](../adapter-pattern.md)
- [Command Pattern](../command-pattern.md)
- [Decorator Pattern](../decorator-pattern.md)