设计模式-观察者模式

背景

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

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

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

传统思路:

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

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

基本介绍

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

两个角色

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

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

Subject中的三个基本方法:

registerObserver:注册用户

removeObserver:移除用户

notifyObserver:通知所有注册的用户

具体实现

气象局(WeatherData)实现Subject接口

第三方网站实现Observer接口

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

相关推荐
乐悠小码19 小时前
Java设计模式精讲---02抽象工厂模式
java·设计模式·抽象工厂模式
乙己4071 天前
设计模式——原型模式(prototype)
设计模式·原型模式
⑩-1 天前
浅学Java-设计模式
java·开发语言·设计模式
攻心的子乐1 天前
软考 关于23种设计模式
java·开发语言·设计模式
成钰1 天前
设计模式之单例模式:一个类就只有一个实例
单例模式·设计模式
o0向阳而生0o1 天前
110、23种设计模式之状态模式(19/23)
设计模式·状态模式
_院长大人_1 天前
设计模式-单例模式
单例模式·设计模式
崎岖Qiu2 天前
【设计模式笔记17】:单例模式1-模式分析
java·笔记·单例模式·设计模式
安冬的码畜日常2 天前
【JUnit实战3_27】第十六章:用 JUnit 测试 Spring 应用:通过实战案例深入理解 IoC 原理
spring·观察者模式·设计模式·单元测试·ioc·依赖注入·junit5
她说彩礼65万2 天前
C#设计模式 单例模式实现方式
单例模式·设计模式·c#