Lecture overview -- Keyboard shortcut: 'u'  Previous page: Observer (1) -- Keyboard shortcut: 'p'  Next page: Observer (3) -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 27 : 31
Forelæsningsnoter i Objekt-orienteret Programmering
Designmønstre
Observer (2)

Observer er et mønster med en relativ kompliceret adfærd. Design Patterns bogen klassificerer den som et 'behavioral pattern' (som kontrast til 'structural' og 'creational patterns'). Derfor er det givende at vise en dynamisk model af mønstret, hvor vi ser hvordan subjekt og observer objekter interagerer indbyrdes

En konkret observatør ændres, hvorved tilstanden i modellen (subject objektet) ændres. Du skal forestille dig, at vi er igang med at operere på en brugergrænseflade, f.eks. at vi trykker på en knap. Derved ændres modellen. Den øverste setState besked er en følge af denne tilstandsændring. (Det er ikke sikkert, at beskeden kommer fra en observatør; Hvis vi følger model-view-controller tankegangen, vil den nok komme fra en listener).

Subject objektet sender sig selv Notify beskeden, som meddeler alle observatører, at modellen er opdateret. Hver observatør henter den fornødne tilstand (eller tilstandsændring) i subject objektet med henblik på at opdatere sig selv