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

     

  • 相关阅读:
    axios的封装
    单行和多行文本溢出省略号显示!!!
    vue2源码-响应式处理(学习笔记)-2
    vue2源码-rollup的配置(学习笔记)-1
    js的垃圾回收机制
    立即执行函数
    闭包笔记
    vue3.0的CompositionAPI
    Create gym environment with your own xml file and training it using her of baseline
    Brief introduction to mujoco or gym modeling using xml
  • 原文地址:https://www.cnblogs.com/lzb0803/p/9089709.html
Copyright © 2011-2022 走看看