Java 中的**观察者模式(Observer Pattern)**是一种行为型设计模式,核心思想是:被观察者(Subject)状态变化时,自动通知所有观察者(Observer)。它的优点主要体现在以下几个方面:
Observer)✅ 例子:
subject.addObserver(observer);
subject 不关心 observer 是谁,只管通知。
Observer 接口并注册即可✅ 扩展性好,适合需求频繁变化的系统
subject.addObserver(a);
subject.removeObserver(b);
Java 本身也大量使用观察者思想:
java.util.Observer / Observable(早期)EventListener(GUI)ApplicationEventPropertyChangeListenerif/else 或硬编码调用interface Observer {
void update(String msg);
}
class Subject {
private List<Observer> observers = new ArrayList<>();
void add(Observer o) { observers.add(o); }
void notifyAll(String msg) {
observers.forEach(o -> o.update(msg));
}
}
观察者模式的优点在于:降低耦合、易于扩展、支持动态通知,是构建事件驱动和响应式系统的重要基础。
如果你愿意,我也可以对比 观察者模式 vs 发布订阅模式,或者讲 Spring 中怎么用观察者模式。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。