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 для аудита.