news 2026/6/25 5:14:31

行为型模式:观察者模式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
行为型模式:观察者模式

文章目录

  • 天气预报项目需求
  • 天气预报设计方案:普通方案
    • WeatherData 类
    • 示意图
    • 代码实现
    • 问题分析
  • 观察者模式原理
  • 观察者模式解决天气预报需求
    • 类图说明
    • 代码实现
    • 观察者模式的好处
  • 观察者模式在 JDK 应用的源码分析

如果文章对您有用,请关注点赞加收藏,博主会持续更新相关的专栏笔记🫡

天气预报项目需求

天气预报项目需求,具体要求如下:

  • 气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去【比如发布到自己的网站或第三方】。
  • 需要设计开放型 API,便于其他第三方也能接入气象站获取数据。
  • 提供温度、气压和湿度的接口。
  • 测量数据更新时,要能实时的通知给第三方。

天气预报设计方案:普通方案

WeatherData 类

通过对气象站项目的分析,我们可以初步设计出一个 WeatherData 类:

说明:

  • 通过 getXxx() 方法,可以让第三方接入,并得到相关信息。
  • 当数据有更新时,气象站通过调用 dataChange() 去更新数据,当第三方再次获取时,就能得到最新数据,当然也可以推送。

示意图

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 16:17:08

GitHub教程图片为何无法显示?一键排查与修复指南

GitHub教程图片为何无法显示?一键排查与修复指南 【免费下载链接】introduction-to-github Get started using GitHub in less than an hour. 项目地址: https://gitcode.com/GitHub_Trending/in/introduction-to-github 作为一名GitHub新手或内容创作者&…

作者头像 李华
网站建设 2026/6/25 20:06:07

Ofd2Pdf深度解析:解锁OFD文档转换的智能密钥

在数字化办公浪潮中,你是否曾因OFD文档的兼容性问题而束手无策?当重要文件无法在常用设备上打开时,那种无力感确实令人沮丧。今天,让我们换个角度,从技术实现层面深入剖析Ofd2Pdf这款开源利器,看看它是如何…

作者头像 李华
网站建设 2026/6/25 18:53:55

高并发系统负载测试场景设计方法与实战策略

1 负载测试场景设计的核心价值 在当今数字化时代,软件系统面临着前所未有的并发访问压力。2025年,全球互联网用户已突破60亿,电商平台单日峰值订单处理量可达数十亿级别,金融交易系统每秒需处理数百万笔交易。在这种背景下&#…

作者头像 李华
网站建设 2026/6/25 0:07:24

15、Python实用编程:图像与即时通讯应用

Python实用编程:图像与即时通讯应用 1. Python中的数组操作与图像处理 在Python编程中,我们可以使用一些有用的函数对数组进行操作,同时也能利用SciPy库进行图像处理。 - 数组操作函数 - dtype() 函数:用于找出数组中元素的数据类型。 - ndim() 函数:返回数组的…

作者头像 李华
网站建设 2026/6/25 3:48:37

21、用Python创建游戏:从射击游戏到视觉小说与Pygame Zero实践

用Python创建游戏:从射击游戏到视觉小说与Pygame Zero实践 在Python的世界里,游戏开发是一个充满乐趣和创造力的领域。本文将带您深入了解如何使用Python和相关库创建不同类型的游戏,包括射击游戏、视觉小说以及使用Pygame Zero开发的简单游戏。 射击游戏代码分析 以下是…

作者头像 李华