Pozorovatel (observer)
Použití
Vzor Pozorovatel lze použít v následujících situacích:
- Abstrakce má dva aspekty jeden závisí na druhém. Jejich zapouzdření do zvláštních objektů je umožňuje nezávisle měnit a znovupoužívat.
- Změna jednoho stavu vyžaduje změnu jiných a jejich počet neznáme.
- Objekt má upozorňovat ostatní objekty, aniž by o nich cokoli předpokládal, nechceme aby byly tyto objekty těsně spojeny.
Struktura
[G2:492 n=1 size=400]
Součásti
- Subject
- Zná své pozorovatele.
Subject
může pozorovat libovolný počet objektůObserver
.- Poskytuje rozhraní pro připojování a odpojování objektů
Observer
. - Poskytuje rozhraní pro připojování a odpojování objektů
- Observer
- Definuje aktualizační rozhraní objektů, jež mají být upozorněny na změny subjektu.
- ConcreteSubject
- Ukládá stav vlivu do objektů
ConcreteObserver
. - Posílá upozornění svým pozorovatelům v případě změny svého stavu.
- ConcreteObserver
- Udržuje odkaz na objekt
ConcreteSubject
. - Ukládá stav, který má zůstat konzistentní se stavem objektu.
- Implementuje aktualizační rozhraní objektu
Observer
, které udržuje jeho stav konzistentní se stavem subjektu
Příloha | Velikost |
---|---|
observer_struktura.gif | 12.42 KB |
Poslat nový komentář