当前位置: 首页 > 图灵资讯 > 技术篇> java框架如何实现可观察模式?

java框架如何实现可观察模式?

来源:图灵教育
时间:2024-08-14 11:36:45

在 java 中,使用 observable 和 observer 界面可以通过将观察者附加到可观察对象中来实现可观察模式。当可观察对象的状态发生变化时,观察者将得到通知。

java框架如何实现可观察模式?

使用 Java 框架实现可观察模式

引言

当状态发生变化时,可观察模式是一种允许对象通知依赖对象的设计模式。 Java 中,可使用 Observable 和 Observer 接口实现可观察模式。

立即学习“Java免费学习笔记(深入);

实现

要实现可观察模式,首先需要创建 Observable 类。Observable 该类包含一个观察者列表,当该类状态发生变化时,将通知这些观察者。

接下来,创建 Observer 接口。Observer 界面定义了当 Observable 调用对象状态发生变化时的方法。

实战案例

考虑以下示例,其中 WeatherData 类是 Observable 它代表天气数据。我们还定义了一个子类 Display 类,它实现了分析器接口,并显示了天气数据。

public class WeatherData extends Observable {
  private float temp;
  private float humid;
  private float pressure;

  public void setMeasurements(float temp, float humid, float pressure) {
    this.temp = temp;
    this.humid = humid;
    this.pressure = pressure;
    setChanged();
    notifyObservers();
  }
}

public class Display implements Observer {

  @Override
  public void update(Observable o, Object arg) {
    if (o instanceof WeatherData) {
      WeatherData data = (WeatherData) o;
      System.out.println("Current measurements: " + data.getMeasurements());
    }
  }
}

public class Main {
  public static void main(String[] args) {
    WeatherData weatherData = new WeatherData();
    Display display = new Display();
    weatherData.addObserver(display);
    weatherData.setMeasurements(30.0f, 60.0f, 1013.25f);
  }
}

输出

本代码将打印以下输出:

Current measurements: [temp=30.0, humid=60.0, pressure=1013.25]

总结

通过使用 Observable 和 Observer 接口,可以在 Java 实现可观察模式。这是一种强大的模式,可用于解耦对象及其依赖对象。

以上是java框架如何实现可观察模式?详情请关注图灵教育的其他相关文章!