zoukankan      html  css  js  c++  java
  • (Head First 设计模式)学习笔记(2) 观察者模式(气象站实例)

    以下内容转载请注明来自"菩提树下的杨过(http://blog.sqlsky.com)"

    应用概述:
    某气象站通过传感器实时测量气温/湿度/压力等数据,要求设计一个系统,能让多种类型的公告栏自动更新这些数据(本例中有二类公告板:实时显示气温/温度公告板,动态统计最高/最低气温公告板)

    解释:
    应用观察者模式,把气温数据做为一个主题(也称为可观察者),让其它公告板当做观察者,通过订阅主题(也称通过观察"可观察者")来得知最新的信息(当然,观察者们也可以方便的退订,从而停止自动更新)

    又一设计原则:
    为了交互对象之间的松耦合设计而努力。


    观察者接口
    Code

    公告板显示接口
    Code

    主题接口
    Code

    真正的气象数据"主题"
    Code

    观察者之"实时气温/湿度公告板"
    Code

    观察者之"动态统计最高/最低气温公告板"
    Code


    最终测试:
    Code

    运行结果:
     
    当前:气温23度,湿度15%
    统计:最高气温 23度 ,最低气温 23度

    当前:气温28度,湿度12%
    统计:最高气温 28度 ,最低气温 23度

    当前:气温30度,湿度14%
    统计:最高气温 30度 ,最低气温 23度

    当前:气温25度,湿度20%
    统计:最高气温 30度 ,最低气温 23度

    当前:气温18度,湿度22%

    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Golang:命令行框架cobra简介
    kafka集群管理工具kafkamanager
    GAN 简介
    部分梯度下降算法简述
    EfficientNet 简介
    数据库查表空间Oracel、Vertica
    Vue 组件自动注册
    使用jmeter+操作BeanShell调用java生成jar包实例
    ACCESS数据库中SQL语句,数字不必加'123'
    反射取得静态类中的属性,方法,字段
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1192705.html
Copyright © 2011-2022 走看看