Встречается на собеседованиях • сегодня
Что такое шаблон проектирования Observer
Observer — это поведенческий паттерн, который создаёт механизм подписки, позволяющий одним объектам следить и реагировать на события, происходящие в других объектах.
Суть:
- Есть
Subject(издатель), который хранит список подписчиков (Observers). - При изменении состояния
Subjectуведомляет всех подписчиков. Observers(подписчики) реализуют общий интерфейс с методомupdate().
Пример на TypeScript:
typescript
interface Observer {
update(data: any): void;
}
class Subject {
private observers: Observer[] = [];
subscribe(observer: Observer) {
this.observers.push(observer);
}
notify(data: any) {
this.observers.forEach(observer => observer.update(data));
}
}
class ConcreteObserver implements Observer {
update(data: any) {
console.log('Received data:', data);
}
}
// Использование
const subject = new Subject();
const observer = new ConcreteObserver();
subject.subscribe(observer);
subject.notify('Hello!'); // Выведет "Received data: Hello!"Где применяется:
- Реактивные системы (например, RxJS)
- Событийные модели в UI (клики, изменения состояния)
- Pub/Sub системы

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы