| lørdag 26. juni 2010 04:15 | |||
Observer PatternDette er et mønster hvor vi lar et eller flere objekter (observer) følge med på et annet objekt (subjekt). Det er subjektets oppgave å holde rede på hvem som observerer, og oppdatere disse når det skjer endringer. Observer pattern kan utvides til MCV (Model-View-Controller) pattern. DefinisjonObserver Pattern definerer et en-til-mange forhold mellom en samling av objekter. Når et objekt endres, vil de andre oppdateres om endringene. Vi har et subjekt som er eier av en samling data. Vi har en eller flere observere som blir oppdatert når subjektet endrer seg. De som observerer vil derfor være avhengig av subjektet, og vi unngår at flere objekter kontrollerer de samme dataene. For å implementere mønsteret kan vi ta utgangspunkt i to kontrakter (interfaces), en for subjekt og en for observer.
Eksempel
I dette tilfellet er tabelldataene subjektet som de forskjellige grafene observerer. Når tabelldataer endres vil tabelldataene selv gi grafene beskjed om at det har skjedd endringer i dataene. Grafene kan på bakgrunn av dette velge å oppdatere seg. Grafer kan her være kakediagram, stolpediagram og lignende representasjoner. Det viktigeste poenger er at vi kan ha flere forskjellige grafrepresantasjoner som fungerer uavhengig av hverandre. Vi kan legge til, eller fjerne graftyper uten å måtte endre på selve logikken (tabelldataene) våre. Noen fordelerVed å bruke observer pattern får vi et løst sammensatt (loose coupling) design. Subjektet og observer kan jobbe sammen men vet lite om hverandre.
Med andre ord er det mange fordeler ved å tilstrebe et løst sammensatt design. ImplementasjonObserver pattern er implementert i pakken java.util.Observable. Vi velger å presentere en minimalistisk versjon her, basert på definisjonen over, og ikke java.util.Observable, men fremgangsmåten er den samme. Vi beggyner med kontraktene "Subjekt" og "Observer".
|
|||
| Sist oppdatert søndag 18. juli 2010 22:44 |