Java 中的 Observer(观察者)模式是一种行为型设计模式,用于建立一对多的依赖关系:当一个对象(被观察者 / Subject)状态发生变化时,所有依赖它的对象(观察者 / Observer)都会自动收到通知并更新。
下面从优点和缺点两方面说明。
✅ 符合依赖倒置原则
Java 提供:
java.util.Observerjava.util.Observable或使用更现代的:
java.beans.PropertyChangeListener⚠ 尤其在高频更新场景(如实时数据)
✅ 常见于 Android / Swing
interface Observer {
void update(String msg);
}
class Subject {
private List<Observer> observers = new ArrayList<>();
void add(Observer o) {
observers.add(o);
}
void notify(String msg) {
for (Observer o : observers) {
o.update(msg);
}
}
}
Observer 模式解耦能力强、扩展性好,但需注意性能、内存泄漏和调试复杂度。
如果你愿意,我也可以对比 Observer vs 事件总线(EventBus) 或讲 Java 中已废弃的 Observable 原因。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。