设计模式——观察者模式:气象监测应用
【推荐阅读】微服务还能火多久?>>> 观察者模式 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。(来自Head First设计模式) 定义了对象间的一种一对多的依赖关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新(来自百度百科) 观察者模式类图 观察者模式组成 抽象对象角色: 把所有观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意个观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现。(图中Subject) 抽象观察者角色: 为所有具体的观察者定义一个接口,在得到主题的通知时更新自己。(图中Observer) 具体主题角色: 在具体主题内部状态改变时,给所有登记过的观察者发出通知。具体主题角色通常用一个子类实现。(图中ConcreteSubject) 具体观察者角色: 该角色实现抽象观察者角色所要求的更新接口,以便使本身的状态与主题的状态想协调。通常用一个子类实现。如果需要,具体观察者角色可以保存一个指向具体主题角色的引用。(图中ConcreteObserver) 观察者模式使用场景 ###1. 场景需求 建立一个天气实时更新的应用,有三种布告板,分别显示目前的状况、天气统计及简单的预报。当天气数据发生变化时,三种布告板必须实时更新。 ###2. 应用概况