设计模式-观察者模式

背景

气象站需要将每天测量到的温度、湿度、气压等数据公布出去,

需要设计开放的API,以便第三方获取气象站的数据,

如果数据有更新,能及时地通知第三方

传统思路:

创建WeatherData类,有温度、湿度、气压属性,声明Get方法,便于第三方获取

不利于维护,更新属性的效率低。

基本介绍

对象之间多对一的设计方案,Subject是1,Observer是多都依赖Subject。

两个角色

①Subject:发出消息的类,具体操作的类

②Observer:用户,接收消息的类。

Subject中的三个基本方法:

registerObserver:注册用户

removeObserver:移除用户

notifyObserver:通知所有注册的用户

具体实现

气象局(WeatherData)实现Subject接口

第三方网站实现Observer接口

在Subject中声明上述的三个基本方法。在通知方法中,将温度、湿度、气压传给Observer

相关推荐
蝸牛ちゃん3 小时前
设计模式(七)结构型:适配器模式详解
设计模式·系统架构·软考高级·适配器模式
蝸牛ちゃん4 小时前
设计模式(十二)结构型:享元模式详解
设计模式·系统架构·软考高级·享元模式
蝸牛ちゃん7 小时前
设计模式(十三)结构型:代理模式详解
设计模式·系统架构·代理模式·软考高级
贱贱的剑7 小时前
8. 状态模式
设计模式·状态模式
永卿0011 天前
设计模式-迭代器模式
java·设计模式·迭代器模式
使二颗心免于哀伤1 天前
《设计模式之禅》笔记摘录 - 10.装饰模式
笔记·设计模式
Amagi.1 天前
Java设计模式-建造者模式
java·设计模式·建造者模式
源代码•宸2 天前
深入浅出设计模式——创建型模式之工厂模式
设计模式
醉酒的李白、2 天前
C#观察者模式示例代码
观察者模式·c#
天天进步20152 天前
设计模式在Java中的实际应用:单例、工厂与观察者模式详解
java·观察者模式·设计模式