Встречается на собеседованиях • сегодня
Что такое шаблон проектирования Observer
Шаблон Observer (Наблюдатель) позволяет объектам подписываться на события других объектов и реагировать на их изменения.
**Составные части:**
- `Subject` (Субъект) - хранит список наблюдателей, уведомляет их об изменениях
- `Observer` (Наблюдатель) - интерфейс с методом `update()`
**Пример:**
```java
interface Observer {
void update(String message);
}
class ConcreteObserver implements Observer {
public void update(String message) {
System.out.println("Received: " + message);
}
}
class Subject {
private List observers = new ArrayList<>();
public void addObserver(Observer o) {
observers.add(o);
}
public void notifyObservers(String message) {
for (Observer o : observers) {
o.update(message);
}
}
}
```
**Использование:**
```java
Subject subject = new Subject();
subject.addObserver(new ConcreteObserver());
subject.notifyObservers("Hello!"); // Выведет "Received: Hello!"
```
**Применение:** GUI-события, рассылка уведомлений, реакция на изменения данных.

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