Obserwator

Wzorzec obserwator to bardzo popularny wzorzec wykorzystywany przede wszystkim w sytuacji gdy mamy do czynienia z relacją „jeden do wielu”, gdzie wiele obiektów musi być informowanych o zmianie stanu obiektu głównego.

 

Schemat

 

 

Założenia

  1. Obiekt obserwowany musi implementować interfejs Observable a wraz z nim jego metody.
  2. Obiekty obserwujące muszą implementować interface Observer i zaimplementować jego metodę.

Schemat działania

  1. Utworzenie instancji obiektu obserwowanego (WeatherForecast) oraz obiektów obserwujących (TvNews, RadioNews, InternetNews)
  2. Zarejestrowanie obiektu obserwującego – wywołanie na obiekcie obserwowanym metody registerObserver z obiektem obserwującym jako parametrem
  3. Powiadomienie obiektów obserwujących o stanie obiektu obserwowanego za pomocą metody notifyObservers

Implementacja

Implementacja znajduje się na githubie pod adresem: https://github.com/aplich/Observer

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *