设计模式-观察者模式

背景

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

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

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

传统思路:

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

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

基本介绍

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

两个角色

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

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

Subject中的三个基本方法:

registerObserver:注册用户

removeObserver:移除用户

notifyObserver:通知所有注册的用户

具体实现

气象局(WeatherData)实现Subject接口

第三方网站实现Observer接口

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

相关推荐
刀法如飞9 小时前
Palantir Ontology 存储结构与读写机制原理深入剖析
大数据·设计模式·系统架构
KobeSacre11 小时前
设计模式——七大设计原则
设计模式
倒流时光三十年13 小时前
设计模式 之 责任链模式
设计模式·责任链模式
阿文的代码库15 小时前
桥接设计模式的案例实现
设计模式
乐观的山里娃15 小时前
【设计模式 14】责任链:谁来拍板
设计模式
乐观的山里娃1 天前
【设计模式 08】装饰器:加钱加服务
设计模式
魔法阵维护师1 天前
从零开发游戏需要学习的c#模块,第十章(设计模式入门)
学习·游戏·设计模式·c#
用户356302904871 天前
【设计模式】组合模式——树形结构的统一处理
设计模式
乐观的山里娃2 天前
【设计模式 12】原型:复制成功
设计模式
傻啦嘿哟2 天前
办公Agent与人工审核的“握手协议”:关键操作二次确认的设计模式
设计模式