zoukankan      html  css  js  c++  java
  • 观察者模式

     

     

    Internet气象站项目:

      1、提供温度、气压、湿度的接口

      2、测量数据更新需要通知给第三方

      3、需要设计开放型API,便于其他的第三方公司也能接入气象站获取数据

     

    public class CurrentConditions {
        
        private float mTemperature;
        private float mPressure;
        private float mHumidity;
        
        public void update(float mTemperature,float mPressure,float mHumidity)
        {
            this.mTemperature=mTemperature;
            this.mPressure=mPressure;
            this.mHumidity=mHumidity;
            display();
        }
        
        public void display()
        {
            System.out.println("***Today mTemperature: "+mTemperature+"***");
            System.out.println("***Today mPressure: "+mPressure+"***");
            System.out.println("***Today mHumidity: "+mHumidity+"***");
        }
    }
    public class WeatherData {
    
        private float mTemperatrue;
        private float mPressure;
        private float mHumidity;
        private CurrentConditions mCurrentConditions;
    
        public WeatherData(CurrentConditions mCurrentConditions) {
            this.mCurrentConditions = mCurrentConditions;
        }
    
        public float getTemperature() {
            return mTemperatrue;
    
        }
    
        public float getPressure() {
            return mPressure;
    
        }
    
        public float getHumidity() {
            return mHumidity;
    
        }
    
        public void dataChange() {
            mCurrentConditions.update(getTemperature(), getPressure(), getHumidity());
        }
    
        public void setData(float mTemperature, float mPressure, float mHumidity) {
            this.mTemperatrue = mTemperature;
            this.mPressure = mPressure;
            this.mHumidity = mHumidity;
            dataChange();
        }
    
    }
    public class InternetWeather {
    
        public static void main(String[] args) {
            CurrentConditions mCurrentConditions;
            WeatherData mWeatherData;
            
            mCurrentConditions=new CurrentConditions();
            mWeatherData=new         WeatherData(mCurrentConditions);
            
            mWeatherData.setData(30, 150, 40);
        }
    
    }

     

  • 相关阅读:
    yum安装Mysql
    在Centos上安装xtrabackup,对Mysql做备份
    Linux下使用yum安装Mysql之后,无法登陆mysql
    手动产生replication中的系统SP
    MySQL全面瓦解1:安装部署与准备
    开发笔记:PDF生成文字和图片水印
    调试与优化:一次数据中心看板 T+1 改 T+0 优化过程
    MySQL:SELECT COUNT 小结
    系统架构设计:平滑发布和ABTesting
    linux /dev/mapper/centos-root目录莫名其妙被占满
  • 原文地址:https://www.cnblogs.com/lzb0803/p/9089709.html
Copyright © 2011-2022 走看看