Begrip: Observer patroon
Observer is een ontwerppatroon in de object-georiënteerde softwareontwikkeling. Het patroon maakt het mogelijk om data centraal te beheren en te synchroniseren met meerdere objecten zonder dat deze objecten constant moeten pollen voor updates.
Het centrale object (het "subject", hieronder de PersistenceProvider) houdt een lijst bij van "observers" (hieronder PageA en PageB). Een observer komt pas in de lijst te staan als deze zich registreert bij het subject (hieronder via de addObserver methode). Via deze methode geeft je een callback functie door die wordt aangeroepen als de data verandert, deze callback functie wordt dan opgeslagen in de lijst van observers in het centrale object (hieronder PersistenceProvider).
Wanneer de data verandert, roept het subject de notifyObservers methode aan, die op zijn beurt door de lijst van observers itereert en de callback functie aanroept met de nieuwe data.