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

     

  • 相关阅读:
    SQL Server 2005高可用性之镜像功能
    Linux的常见问题解答和管理技巧
    安装sharepoint server 2007步骤
    CISCO 中对OSI的解释
    CISCO 2600 密码恢复
    三层交换机与路由器的比较
    PHP的注释
    php的变量、常量和数据类型
    操作符与控制结构
    【1】淘宝sdk装修入门引言
  • 原文地址:https://www.cnblogs.com/lzb0803/p/9089709.html
Copyright © 2011-2022 走看看