public void measurementsChanged() {
notifyObservers();
}
public void setMeasurements(float temperature, float humidity, float pressure) {
this.temperature = temperature;
this.humidity = humidity;
this.pressure = pressure;
measurementsChanged();
}
setMeasurements 方法为什么不直接调用notifyObservers();反而要写个方法包装起来调用,这个由什么好处么?
notifyObservers();
}
public void setMeasurements(float temperature, float humidity, float pressure) {
this.temperature = temperature;
this.humidity = humidity;
this.pressure = pressure;
measurementsChanged();
}
setMeasurements 方法为什么不直接调用notifyObservers();反而要写个方法包装起来调用,这个由什么好处么?
可能是为了修给代码方便,你可以在measurementsChanged添加需要的代码,
而不需要更改setMeasurements,而且这样看起来功能模块更清晰些
我的看法.这是java的特性吧.呵呵.这样写在性能上在处理某些数据时可能好过直接调用notifyObservers();
notifyObclients()的时候,直接在 measurementsChanged() 里加就行了
个人感觉measurementsChanged()方法可能是用来封装一系列操作的~~不过怎么他要是不想暴露出来的话怎么还用了
public了捏?呵呵,个人看法~~
适配器模式吧我跟你说也说不太清
给你个网址看看吧,肯定有收获
http://book.csdn.net/bookfiles/268/10026811896.shtml
这个就是java的代码的可重用性,这样吧代码用一个方法包装一下,其他的方法也可以再调用这个方法,
这是第一点,另外,如果我们还要再添加代码的话,可以直接在measurementsChanged() 中进行添加,
而不必改变setMeasurements方法,这也是java 的优点。
LZ可以纵观全局的看看代码
个人感觉作者既然这么写 一定会有他的用意
应该不会是一段费代码 毕竟能写设计模式的人
应该不会是才入门到新手。
1。函数名最好与其对应的功能对应,通知和改变并不是一回事。
2。有利于功能分离,notifyObservers() 这个方法目的是通知监听者,从这个意义上看,它可能只是改变事件的一部分功能。自然,其它的改变事件也可以调用这个notifyObservers() 。
3。增加了程序的可维护性,其中起一方的修改不会影响另外一方。不过,话说回来,如果只是上面的几行代码,大可不必如此复杂,杀鸡焉用牛刀。