Java提供了Observable,这不是一个好的实践

Java提供了Observable,这不是一个好的实践,java,design-patterns,observable,observer-pattern,Java,Design Patterns,Observable,Observer Pattern,上面的代码来自Head-First设计模式。对于发生的每一个更改,都将触发一个事件,无论事件是否符合他们的预期,该事件都将发送给所有观察者。if块有助于让代码决定要处理哪些事件 因此,为每一个这样的场景创建可观察性将是一个良好的实践,对吗 因此,为每一个这样的场景创建可观察性将是一个良好的实践,对吗 对!!例如,我已经多次提倡这种方法,而且。这让我很困惑,为什么人们经常只使用一个事件类来实现观察者模式,然后努力传递不同类型的事件。无论如何:创建新的事件类 java.util.Observable

上面的代码来自Head-First设计模式。对于发生的每一个更改,都将触发一个事件,无论事件是否符合他们的预期,该事件都将发送给所有观察者。
if
块有助于让代码决定要处理哪些事件

因此,为每一个这样的场景创建可观察性将是一个良好的实践,对吗

因此,为每一个这样的场景创建可观察性将是一个良好的实践,对吗


对!!例如,我已经多次提倡这种方法,而且。这让我很困惑,为什么人们经常只使用一个事件类来实现观察者模式,然后努力传递不同类型的事件。无论如何:创建新的事件类

java.util.Observable
已被弃用,因为java 9…@tquadrat,虽然java实现已被弃用,但其本身仍然非常有用。Java只是没有很好地实现它。@jaco0646:我毫不怀疑该模式非常有用,但当问题是创建
Observable
是否是一个好的实践(在示例中显式引用了该类)时,必须允许说该类已被弃用。问题不仅仅是关于模式…@tquadrat,示例中没有
import
语句。它可能是我的.custom.Observable。那么,在这种情况下,
public void update(Observable obs, Object arg) 
{
  if (obs instanceof WeatherData) {
  WeatherData weatherData = (WeatherData)obs;
  this.temperature = weatherData.getTemperature();
  this.humidity = weatherData.getHumidity();
  display();
  }
 }