Observer šablonas apibrėžia vienas-su-daugeliu priklausomybę, kur keli objektai (stebėtojai) automatiškai gauna pranešimą, kai kitas objektas (subjektas) keičia būseną. Jis suteikia galimybę sukurti atsietos, įvykiais valdomos komunikacijos — plačiai naudojamas UI, įvykių sistemose ir reaktyvioje programmavime.
Ką Observer šablonas daro
OBSERVER → a SUBJECT maintains a list of OBSERVERS and NOTIFIES them on state changes:
→ observers SUBSCRIBE to the subject
→ when the subject changes → it notifies ALL subscribed observers automatically
→ observers react to the notification (update themselves)
→ one-to-many: one subject, many observers; DECOUPLED (subject doesn't know observer details)
