intermediate

Observer

Уведомляйте subscribers об changes без hard coupling subject ко всем listeners, контролируя lifecycle и ordering.

Observer уведомляет зависимые стороны об изменении subject без жёсткой связи с каждым listener. Event emitters, reactive stores, DOM events и pub/sub — современные варианты. Нужны политики подписки, порядка доставки, изоляции ошибок и утечек от забытых listeners.

На интервью: push vs pull. Backpressure, debouncing, когда события — domain facts, а когда technical signals.

Типовые ошибки: синхронные observers блокируют publisher; listeners без unsubscribe; неявный порядок между subscribers.

Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.

Чеклист:

  • Политика unsubscribe или weak references.
  • Ошибки listener не ломают publisher.
  • Контракты payload и versioning.
  • Immutable event records для аудита.