Назад к вопросам
СБЕР Страхование
Junior — Middle
58
Как реализовывались механизмы оповещений в системе?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Java-системах механизмы оповещений обычно реализуются с помощью паттерна "Наблюдатель" (Observer). Это позволяет объектам подписываться на события и получать уведомления при их возникновении.
Пример простой реализации:
import java.util.ArrayList;
import java.util.List;
interface Observer {
void update(String message);
}
class Subject {
private List<Observer> observers = new ArrayList<>();
void addObserver(Observer observer) {
observers.add(observer);
}
void notifyObservers(String message) {
for (Observer o : observers) {
o.update(message);
}
}
}
class ConcreteObserver implements Observer {
private String name;
ConcreteObserver(String name) {
this.name = name;
}
@Override
public void update(String message) {
System.out.println(name + " получил оповещение: " + message);
}
}
public class NotificationExample {
public static void main(String[] args) {
Subject subject = new Subject();
subject.addObserver(new ConcreteObserver("Observer1"));
subject.addObserver(new ConcreteObserver("Observer2"));
subject.notifyObservers("Событие произошло!");
}
}
В более сложных системах могут использоваться специализированные библиотеки и фреймворки (например, Spring Events, JMS, Kafka) для асинхронных и распределённых оповещений.