首页 - 新闻 - 观察者模式

观察者模式

2023-09-29 02:18

设计模式系列往期精彩文章

  • 设计模式七大原则
  • 单例模式
  • 工厂模式
  • 原型模式
  • 建造者模式
  • 适配器模式
  • 桥接模式
  • 装饰者模式
  • 组合模式
  • 外观模式
  • 享元模式
  • 代理模式
  • 模板模式
  • 命令模式
  • 访问者模式
  • 迭代器模式

还是老样子,无需求,不设计。更好的设计只是为了解决需求而诞生
有这样的一个需求:(天气预报的项目

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

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

  1. 通过getXxx方法,可以让第三方接入,并得到相关信息.
  2. 当数据有更新时,气象站通过调用dataChange() 去更新数据,(第三方通过定时器的方式)
  3. 也可以推送