标签:tps cas 就是 std notify lin 需要 follow 分享
我们用WeatherDate实现了主题接口,两个公告牌 CurrentConditionsDisplay和ForcastDisplay实现了Observer和DisplayElement接口,在他们的构造方法中会调用WeatherData中的registerObserver()方法把自己注册成观察者,并将他们保存到一个集合中。当被观察者也就是WeatherData数据变化时,会调用notifyObserver()方法通知观察者,也就是两个公告牌,并调用 Updata()方法来更新 自己的数据。
1.将观察者(公告牌)和被观察者(气象局)彻底解耦,被观察者只知道观察者列表的抽象接口,被观察者不知道具体的观察者。
2.被观察者发送通知,所有注册的观察者都会收到信息,可以实现广播机制。
最后附上程序的源码地址:https://github.com/BaronZ88/DesignPatterns/tree/master/src/com/baron/patterns/observer
标签:tps cas 就是 std notify lin 需要 follow 分享
原文地址:https://www.cnblogs.com/hhachi/p/9795026.html