observer-pattern
🧩 Concept
🧠 Key Roles
Role
Description
💻 Simple Java Example
// Observer interface
interface Observer {
void update(String news);
}
// Subject class
class NewsAgency {
private List<Observer> observers = new ArrayList<>();
private String news;
void addObserver(Observer o) { observers.add(o); }
void removeObserver(Observer o) { observers.remove(o); }
void setNews(String news) {
this.news = news;
notifyObservers();
}
private void notifyObservers() {
for (Observer o : observers) o.update(news);
}
}
// Concrete observer
class NewsChannel implements Observer {
private String news;
public void update(String news) { this.news = news; }
}🧱 Flow Summary (Step-by-Step)
Step
Action
Subject (NewsAgency)
Observers
Notes
🪜 Summary
🔔 Real-world Analogy
Last updated