用Java写一个监视者模式
时间: 2023-02-13 22:34:55 浏览: 107
监视者模式是一种软件设计模式,它定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
在 Java 中实现监视者模式通常需要以下步骤:
1. 定义观察者接口,该接口定义了更新方法,以便观察者能够接收到主题的通知。
2. 定义主题接口,该接口定义了注册、删除和通知观察者的方法。
3. 实现观察者接口,并实现更新方法。
4. 实现主题接口,并维护一个观察者列表,在适当的时候遍历列表并通知观察者。
以下是一个简单的示例代码:
```java
// 观察者接口
public interface Observer {
void update(float temp, float humidity, float pressure);
}
// 主题接口
public interface Subject {
void registerObserver(Observer o);
void removeObserver(Observer o);
void notifyObservers();
}
// 具体的观察者类
public class ConcreteObserver implements Observer {
private float temp;
private float humidity;
private float pressure;
private Subject subject;
public ConcreteObserver(Subject subject) {
this.subject = subject;
subject.registerObserver(this);
}
@Override
public void update(float temp, float humidity, float pressure) {
this.temp = temp;
this.humidity = humidity;
this.pressure = pressure;
display();
}
public void display() {
System.out.println("Temperature: " + temp + ", Humidity: " + humidity + ", Pressure: " + pressure);
}
}
// 具体的主题
阅读全文