Java 观察者模式(Observer Pattern)整体来说不难,属于 23 种设计模式里最容易理解和上手的几个之一。
下面从几个角度帮你判断“难不难”:
现实类比就能懂:
这就是观察者模式的核心:一对多通知
Java 自带:
java.util.Observable(老 API,不推荐)java.util.Observer虽然现在更推荐自己写接口或用:
ApplicationEventEventBus但基础版非常简洁。
// 观察者接口
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) {
observers.forEach(o -> o.update(msg));
}
}
就这么多,逻辑非常直白。
什么时候该用?
避免坑
和别的模式混淆
@EventListenerApplicationEventPublisher观察者模式本身不难,难的是“用得巧、用得对”。
如果你愿意,我可以:
你想从哪一步开始?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。