设计模式-观察者模式

背景

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

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

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

传统思路:

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

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

基本介绍

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

两个角色

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

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

Subject中的三个基本方法:

registerObserver:注册用户

removeObserver:移除用户

notifyObserver:通知所有注册的用户

具体实现

气象局(WeatherData)实现Subject接口

第三方网站实现Observer接口

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

相关推荐
SheldonChang3 小时前
设计模式-工厂模式
设计模式·简单工厂模式
hope_wisdom4 小时前
实战设计模式之简单工厂模式
设计模式·软件工程·简单工厂模式·架构设计·软件架构
夏旭泽5 小时前
设计模式-命令模式
设计模式·命令模式
暗夜绿6 小时前
【GoF23种设计模式】02_单例模式(Singleton Pattern)
java·spring·单例模式·设计模式
.ccl7 小时前
设计模式期末复习
设计模式
诸葛悠闲7 小时前
设计模式——适配器模式
设计模式·适配器模式
WangMing_X7 小时前
C# 23种设计模式(5)命令模式(Command Pattern)
开发语言·设计模式·c#·命令模式
李昊翔的博客7 小时前
白话java设计模式
设计模式
重生之绝世牛码7 小时前
Java设计模式 —— 【结构型模式】桥接模式详解
java·大数据·开发语言·设计模式·桥接模式·设计原则