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);
        }
    
    }

     

  • 相关阅读:
    为什么解析 array_column不可用,
    Android经常使用的布局类整理(一)
    C++ Coding Standard
    Kd-Tree算法原理和开源实现代码
    2013年10月5日国庆上班前一天
    2013年10月5日
    2013年10月3日合肥归来
    国庆第二天参加室友婚礼
    国庆随笔
    2013第40周日国庆放假前一天晚上
  • 原文地址:https://www.cnblogs.com/lzb0803/p/9089709.html
Copyright © 2011-2022 走看看