18、观察者模式
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。
UML类图:
具体实例:气象台有温度、湿度的数据,而百度天气网站、新浪天气网站要展示气象台的温度、湿度的数据。
具体示例的UML类图:
Java代码:
// 观察者
public interface Observer {
void update(float temperature, float humidity);
void display();
}
// 百度天气网站
public class BaiduSite implements Observer {
private float temperature;
private float humidity;
@Override
public void update(float temperature, float humidity) {
this.temperature = temperature;
this.humidity = humidity;
this.display();
}
@Override
public void display(