当前位置: 首页 > news >正文

行为型模式:观察者模式

文章目录

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

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

天气预报项目需求

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

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

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

WeatherData 类

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

说明:

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

示意图

http://www.gsyq.cn/news/97672.html

相关文章:

  • 安卓Utility V200.00.0000维修解锁工具
  • 8、Ubuntu Unity桌面使用指南
  • 16、Ubuntu 命令行使用全攻略
  • FlashAttention如何实现3-5倍LLM推理加速?KV缓存与增量解码深度解析
  • 26、Ubuntu社区:团队、流程与参与指南
  • 从臃肿到轻量:Gridea助你打造极速静态博客新体验
  • 22、Ubuntu 相关项目、版本及 Launchpad 介绍
  • 10分钟快速上手Ocelot中间件扩展:新手终极指南
  • PrivateGPT终极部署指南:3步打造企业级私密文档大脑
  • notepad--终极指南:从零开始的跨平台文本编辑解决方案
  • 16、CGI:让网页交互更灵活的技术
  • TA-Lib快速安装终极指南:告别编译错误的完整解决方案
  • 蓝易云 - ubuntu上安装boost库为SOMEIP的X86和ARM下编译做准备(编译两种版本)
  • 17、使用Shell脚本开发CGI程序
  • 18、利用 Perl 开发 CGI 程序全解析
  • 蓝易云 - Error: PostCSS plugin autoprefixer requires PostCSS 8问题解决办法
  • Vue3 + TypeScript终极指南:prompt-optimizer性能调优完整教程
  • Neovim智能补全:告别手残党,3步打造你的AI编程助手
  • LightRAG技术解析:从理论到实践的3大突破性功能
  • React Native Vision Camera终极指南:打造60FPS流畅AR滤镜的完整实战手册
  • 11、主动防御与网络流量管理
  • LFM2-350M-ENJP-MT:重新定义边缘端英日翻译的新标杆
  • 技术专家加入国家人工智能咨询委员会
  • 革新智能家居体验:hass-xiaomi-miot如何重新定义小米设备接入HomeAssistant
  • 12、网络队列、流量整形与冗余性配置全解析
  • R480-X8面向下一代AI集群的高密度算力模块:技术架构与应用分析
  • 终极攻略:用Taskbar11轻松定制你的Windows 11任务栏
  • 性价比高的厦门考研机构
  • 26、提升Ubuntu系统图形化体验的实用指南
  • NIST SP800-53中文翻译指南:信息安全专家的终极参考宝典