Встречается на собеседованиях • сегодня

Как работает Observer

Observer — это поведенческий паттерн, который позволяет объектам подписываться на события других объектов и реагировать на их изменения.

Основные компоненты:

  • Subject (Наблюдаемый) — хранит список подписчиков (observers), умеет добавлять/удалять их и оповещать о изменениях.
  • Observer (Наблюдатель) — интерфейс с методом update(), который вызывается при изменении Subject.

Пример:

javascript
class Subject {
  constructor() {
    this.observers = [];
  }

  subscribe(observer) {
    this.observers.push(observer);
  }

  unsubscribe(observer) {
    this.observers = this.observers.filter(obs => obs !== observer);
  }

  notify(data) {
    this.observers.forEach(observer => observer.update(data));
  }
}

class Observer {
  update(data) {
    console.log('Received:', data);
  }
}

const subject = new Subject();
const observer = new Observer();

subject.subscribe(observer);
subject.notify('Hello!'); // Received: Hello!

Где используется?

  • React (хуки useState, useEffect).
  • RxJS (Reactive Extensions).
  • Событийные системы (например, DOM Events).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы