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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    C语言I博客作业02
    C语言II—博客作业01
    学期总结
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I 博客作业04
    C语言II博客作业04
    C语言II博客作业03
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1192705.html
Copyright © 2011-2022 走看看