public void update(Observable obs, Object arg)
{
if (obs instanceof WeatherData) {
WeatherData weatherData = (WeatherData)obs;
this.temperature = weatherData.getTemperature();
this.humidity = weatherData.getHumidity();
display();
}
}
Приведенный выше фрагмент кода взят из Head First Design Patterns . Событие будет срабатывать для каждого происходящего изменения, и оно будет разослано всем наблюдателям независимо от того, ожидают они того или нет. Блок if
позволяет коду решать, какие события обрабатывать.
Так что создание наблюдаемого для каждого такого сценария будет хорошей практикой, верно?