news 2026/8/16 10:45:53

行为型模式:观察者模式

作者头像

张小明

前端开发工程师

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

文章目录

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

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

天气预报项目需求

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

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

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

WeatherData 类

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

说明:

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

示意图

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

终极指南:如何用nerfstudio与Blender实现自动化3D建模

终极指南:如何用nerfstudio与Blender实现自动化3D建模 【免费下载链接】nerfstudio A collaboration friendly studio for NeRFs 项目地址: https://gitcode.com/GitHub_Trending/ne/nerfstudio 还在为传统3D建模的繁琐流程而烦恼吗?每次调整顶点…

作者头像 李华
网站建设 2026/8/16 2:52:08

OpenTelemetry Collector全链路测试环境:Docker Compose一键部署实战

OpenTelemetry Collector全链路测试环境:Docker Compose一键部署实战 【免费下载链接】opentelemetry-collector OpenTelemetry Collector 项目地址: https://gitcode.com/GitHub_Trending/op/opentelemetry-collector 还在为微服务追踪系统的本地验证而烦恼…

作者头像 李华
网站建设 2026/8/16 10:21:07

从臃肿到轻量:Gridea助你打造极速静态博客新体验

从臃肿到轻量:Gridea助你打造极速静态博客新体验 【免费下载链接】gridea ✍️ A static blog writing client (一个静态博客写作客户端) 项目地址: https://gitcode.com/gh_mirrors/gr/gridea 你是否曾因博客加载缓慢而流失读者?是否厌倦了频繁的…

作者头像 李华
网站建设 2026/8/16 18:30:03

12、解锁Ubuntu高级使用技巧:多方面提升系统操作能力

解锁Ubuntu高级使用技巧:多方面提升系统操作能力 访问其他分区的Windows文件 如果你经常使用Windows分区,可能希望能在Ubuntu系统中访问这些分区。虽然需要编辑一个特殊的配置文件,但这并不困难,而且只需编辑一次,之后就能轻松访问。 Ubuntu通常能自动识别电脑上的Wind…

作者头像 李华
网站建设 2026/8/16 14:41:25

Mistral-Small-3.2-24B:多模态AI效率革命,企业级应用落地新引擎

导语 【免费下载链接】Mistral-Small-3.2-24B-Instruct-2506 项目地址: https://ai.gitcode.com/hf_mirrors/mistralai/Mistral-Small-3.2-24B-Instruct-2506 Mistral AI最新发布的Mistral-Small-3.2-24B-Instruct-2506多模态大模型,通过显著提升指令遵循能…

作者头像 李华
网站建设 2026/8/16 5:29:49

12、Python在专业领域的应用与实践

Python在专业领域的应用与实践 Python作为一种功能强大且广泛应用的编程语言,在全球范围内得到了众多开发者、工程师和科研人员的青睐。本文将详细介绍Python在系统管理、Web开发和科学计算等领域的应用,以及相关的操作步骤和工具。 1. 系统管理中的Python应用 系统管理任…

作者头像 李华