Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Innkapsling av request. Køing, logging, angre Command tilhører gruppen av ”behavioral patterns” Instanser av mønsteret leder til instanser av forespørsler.

Liknende presentasjoner


Presentasjon om: "Innkapsling av request. Køing, logging, angre Command tilhører gruppen av ”behavioral patterns” Instanser av mønsteret leder til instanser av forespørsler."— Utskrift av presentasjonen:

1 Innkapsling av request

2 Køing, logging, angre Command tilhører gruppen av ”behavioral patterns” Instanser av mønsteret leder til instanser av forespørsler Denne formen for innkapsling egner seg for strukturell lagring Dette gir muligheter for køing, logging og angrefunksjoner

3 Prinsippskisse Klienten mottar alle typer forespørsler Klienten validerer, køer og organiserer Mønsteret kalles også ”Action” Meningen er at den som kommanderer ikke trenger kjenne den som utfører Hver ConcreteCommand må implementere execute.

4 Eksempelskisse Menyelementene trenger ikke kjenne dokumentklassen Command opphever koblingen mellom sender og mottaker I eksemplet er Dokument mottaker Det er mottaker som til slutt utfører kommandoen De konkrete Command- klassene sørger for koblinger til mottakeren Kopier og Liminn er tvunget til å implementere execute.

5 Instans av command pattern Kildekode [13] demonstrerer struktur med angrefunksjon Den abstrakte Command tilrettelegger med Stack Stack er en LIFO som egner seg for angre- logikk

6 Forespørsler er objekter Command Pattern lar verktøyet instansiere objekter av forespørslene Alle objekter kan lagres i strukturer og sendes som argumenter rundt i et system De kan for eksempel følge et signal i en CoR Nøkkelen til mønsteret er den abstrakte Command- klassen Den enkleste instansen har kun en kontraktfestet execute-operasjon

7 GoFs Applicability list Objekter med parametre, som ved callback. Commands er OO versjon av callback Spesifiser, lag køer og utfør handlinger med forskyvninger i tid og rom. Command-instansen kan ha en uavhengig livslinje. Support for undo ved at instansen lagrer tilstander rett før execute overtar kontrollsekvensen Support for logging av tilstander og forandringer. Med load og store kan en hvilken som helst tilstand tilbakeføres, som f. eks. i sjakk- og bankapplikasjoner. Strukturering av høynivåoperasjoner som i transaksjonssystemer. Hver transaksjon kan innkapsles i kommandoobjekter og dermed enkelt rulles tilbake ved behov. Med felles interface vil alle transaksjoner kunne kalles og tilbakekalles på nøyaktig samme måte.

8 Referanser til prosjekter simpletidy diskuterer hvordan CoR tilrettelegger for Command Targetpane har allerede rollen som mottaker av forespørsler easyjava2d innfører bruk av Action-klasser De konkrete actionklassene isolerer mottaker fra sender slik at CoR blir enklere å realisere easyhtml innleder til diskusjon om MVC og struts som blant annet realiserer Command På side 27 nevnes persistens som en av mulighetene som tilrettelegges med Command Pattern simplediagram er det prosjektet som enklest kan utnytte Command Pattern i angre-sekvenser


Laste ned ppt "Innkapsling av request. Køing, logging, angre Command tilhører gruppen av ”behavioral patterns” Instanser av mønsteret leder til instanser av forespørsler."

Liknende presentasjoner


Annonser fra Google