Java Topics
Observer Pattern
Last Updated : 26 May, 2026
title: Observer Design Pattern
title: Observer Design Pattern description: Event notification system
Subject mein change hone par sabhi observers ko notify karna.
Implementation
// Observer interface
interface Observer {
void update(String event, Object data);
}
// Subject (Observable)
class EventManager {
private Map<String, List<Observer>> listeners = new HashMap<>();
void subscribe(String eventType, Observer observer) {
listeners.computeIfAbsent(eventType, k -> new ArrayList<>()).add(observer);
}
void unsubscribe(String eventType, Observer observer) {
List<Observer> users = listeners.get(eventType);
if (users != null) users.remove(observer);
}
void notify(String eventType, Object data) {
List<Observer> users = listeners.getOrDefault(eventType, Collections.emptyList());
users.forEach(o -> o.update(eventType, data));
}
}
// Concrete observers
class EmailNotifier implements Observer {
@Override
public void update(String event, Object data) {
System.out.println("Email: " + event + " - " + data);
}
}
class SMSNotifier implements Observer {
@Override
public void update(String event, Object data) {
System.out.println("SMS: " + event + " - " + data);
}
}
// Use
EventManager manager = new EventManager();
manager.subscribe("ORDER_PLACED", new EmailNotifier());
manager.subscribe("ORDER_PLACED", new SMSNotifier());
manager.subscribe("PAYMENT_FAILED", new EmailNotifier());
manager.notify("ORDER_PLACED", "Order #1234");Java Built-in
java.util.Observer aur Observable (deprecated Java 9+). Use PropertyChangeListener instead.
Use Cases
- Event handling (GUI, Spring Events)
- MVC pattern (View observes Model)
- Stock price alerts
- Notification systems
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for Observer Pattern.
Interview Use
Prepare one clear explanation, one practical example, and one common mistake for this Java topic.
Search Terms
java, java programming, core java, java master course, java notes, master, course, design
Related Java Topics