Observer Design Pattern

Obserwator. Wzorzec projektowy wykorzystywany, gdy chcemy powiadomić zainteresowane obiekty (obserwatorów) pewną zmianą stanu pojedynczego obiektu (obiekt obserwowany). Struktura taka łączący klasy relacją typu jeden-do-wielu.
Zaletą użycia tego wzorca projektowego jest luźne powiązanie pomiędzy klasami oraz możliwość dynamicznej zmiany tych powiązań. Klasy obserwatorów jak i obiektów obserwujących nie muszą o sobie wiele wiedzieć, przez co nie tworzą się niepotrzebne zależności.