设计模式

观察者模式上篇

观察者模式上篇观察者模式原理:大家好,欢迎来到污污弹公司,最近啊,污污弹接到气象站的外包项目。功能比较简单:要对外提供天气接口(温度、气压、湿度)需要实时通知第三方;还需要实时在市中心公告栏上发布天气情况。司小司接到任务开始动手干了。根据Java面向对象特性分析后得到如下信息:天气对象:WeatherData公告板对象:CurrentConditions天气更新时候,调用天气对象的dataChan



观察者模式上篇

观察者模式原理:

大家好,欢迎来到污污弹公司,最近啊,污污弹接到气象站的外包项目。

功能比较简单:

要对外提供天气接口(温度、气压、湿度)需要实时通知第三方;

还需要实时在市中心公告栏上发布天气情况。

司小司接到任务开始动手干了。根据Java面向对象特性分析后得到如下信息:

天气对象:WeatherData

公告板对象:CurrentConditions

天气更新时候,调用天气对象的dataChange方法,得到数据后,然后将数据通过display方法展示出来。

根据上面信息,我们可以创建以下两个类:

天气对象:

@Data

public class WeatherDataOO {

public WeatherDataOO {}

public WeatherDataOO( CurrentCoditionOO currentCoditionOO){

this.currentCoditionOO = currentCoditionOO;

}

/**

* 温度

*/

private float temperatrue;

/**

* 气压

*/

private float pressure;

/**

* 湿度

*/

private float humidity;

/**

* 公告板对象

*/

private CurrentCoditionOO currentCoditionOO;

/**

* 天气变化时候方法

*/

public void dataChange{

currentCoditionOO.update(this.getTemperatrue,this.getPressure,this.getHumidity);

}

/**

* 模拟气象站数据

*/

public void setData(float temperatrue,float pressure,float humidity){

this.temperatrue = temperatrue;

this.pressure = pressure;

this.humidity = humidity;

dataChange;

}

}

公布栏对象具体内容如下

原创不易,完成人机校验,阅读全文

相关推荐