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

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Objektorientert systemutvikling og UML  OOSU er den mest anvendte metoden på både store og små prosjekter  UML er det mest anvendte beskrivelsesspråk.
Support, nye funksjoner og tjenester fra Uni Pluss
Memento Object Behavioral Design Pattern. Lagre og hente tilstander • Et system inneholder ofte mekanismer som trenger gjenbruk av tilstander • Memento.
Sekvensdiagram En sekvens viser hvordan objekter samarbeider om en oppgave Diagrammet viser hvem som har kontrollen til enhver tid Det spesifiserer nøyaktig.
Realisering av Software Patterns Software Design Patterns Realisering med kode Refaktorering Gjenkjenning av mønstre.
Mediator i prosjektet easyhtml Mediator. Widgets og signaler  Systemet inneholder mange signalgivere  Mange til mange er erstattet med en til mange.
Objektorientert systemutvikling og UML
IMT OOSU 28.sept Dagens tema : forts. DESIGN PATTERNS ObjektOrientert Design = Bevissthet i tildeling/fordeling av ansvar til softwareklasser for.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Beslektede algoritmer. Isolere klient fra algoritme  Klienter trenger av og til helt forskjellige måter å gjøre det samme på  Men klienten selv kan.
Gruppe 6 Gunnar Henrik Mathias Morten Ronny Svein Ivar.
Chain of Responsibility GoF mønster Operasjonelt (behavioral)
Variasjoner i subklasser.  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer.
Mønstre og tekniske applikasjoner
IS-102 Klassedefinisjoner
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
Aksess kontroll None shall pass.
Android-Programmering Våren Oversikt – PendingIntents Rollen til PendingIntents Vanlig bruk Deling Sending.
Kryptografi og nettverkssikkerhet
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Læring og tenkning Systemutvikling er læring Gjensidig respekt og samarbeid Følge en konkret oppskrift Velge blant flere oppskrifter Nå målet uten oppskrift,
Sekvensdiagram En sekvens viser hvordan objekter samarbeider om en oppgave Diagrammet spesifiserer hvem som har kontrollen til enhver tid Det vises nokså.
Prosjektet transparente lag Composite og tegnende objekter Decorator og gui-kontrollere Factory Method Iterator.
En kort innføring i Design Patterns
GoF GoF er fire systemutviklere, Gang of Four GoF fikk utgitt boken Design Patterns høsten 1994 Boken Design Patterns er en klassiker Design Patterns beskriver.
Forbindelser Diagrammer i UML består av ting med forbindelser
Domeneklasser En applikasjon kan ha domenesvake og domenesterke klasser.
Mediator Mediator i prosjektet easyhtml. Widgets og signaler Systemet inneholder mange signalgivere Mange til mange er erstattet med en til mange Hvert.
Strukturerende elementer i UML
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Bygging av gui for binærkode Prosjektet simpletidy.
8.4 Sikkerhetshåndtering Nøkkelhåndtering Gruppe av servere skal legge til et nytt medlem Autentisering/delegering (kapabiliteter, sertifikater)
Design Patterns Iterator & Mediator. Gruppe 8 Presentasjonsgruppe:Resten av gruppen: Marianne AtesAndrè Johansen Tom Vidar LundeHege-Kristin Johansen.
Gruppe 9 - Design Pattern modeling Per I. Jacobsen Synne Nygaard Alfred Skari Anette kjuus Per K. Førrisdal Øystein Rogstad Skule Notø.
Singleton & Adapter Pattern Gruppe 3. Singleton Pattern Sørger for at en klasse kun kan ha en instans Vanligvis implementert med globale variabler –Singleton.
Design patterns: State og Strategy
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
INF 295 Algoritmer og datastrukturer Forelesning 7 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
Hvorfor lære HTML og PHP
Information Expert GRASP Grunnleggende prinsipp i programdesign.
Biblioteket easylib og proped Konfigurering og simpletidy.
Composite GoF Structural Pattern. Alle kjenner Composite Alle som har brukt lister organisert som trær i brukermiljøer, kjenner Composite Pattern.
XML og Composite Pattern Mønstre og bygging av xml-tre.
Username anonym Password s1mpletransport Host hve3920.hive.no Path /home/transport.
Aktivitetsdiagrammer
Billettautomat med felle. Forbedret automat Klasse og operasjon i aktiviteten Klassen er Billettluke Operasjonen er pengerTilbake() Skilletegnet er dobbelt.
Rutine: Godkjenning av dokumenter i ePhorte
Gruppe 5 består av: – Cecilie Vitting – – Marit S. Asklien -
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
BasWare PM bestillingssystem - selvstudiemateriell:
Objektorientert utforming In 140 Sommerville kap. 12.
Android-Programmering Våren Oversikt Ytelse vs responsivitet Strategier for og opprettholde responsiviteten Tråder Asynchronous Task.
1 BasWare PM bestillingssystem - selvstudiemateriell: 1.Opprette anmodning/bestilling (denne presentasjon) 2.Godkjenne bestilling (egen presentasjon) 3.Utføre.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Objektorientert design
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Kapittel 12 Samlingar Samlingar og datastrukturar Ei samling (collection) blir brukt til å oppbevare og handtere andre objekt ArrayList – klassen.
Kapittel 7 Array (lister og tabellar). 7.1 Arrayelement Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har mange dataelement.
Android-Programmering Våren Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser.
IN 265 Våren 2003 : Forelesning : Design av arkitektur og komponent 1 IN250 – Om komponent design Mål for forelesningen: l Se på prinsipper.
Rutine: Godkjenning av dokumenter i ephorte To metoder for godkjenning: 1.Send til godkjenning til 1 person – enkel godkjenning 2. Send til godkjenning.
Android-Programmering Våren Oversikt – PendingIntents  Rollen til PendingIntents  Vanlig bruk  Deling  Sending.
Android-Programmering Våren Oversikt Ytelse vs responsivitet Strategier for og opprettholde responsiviteten Tråder Asynchronous Task.
Strukturerende elementer i UML
Billettautomat med felle
Kommunikasjonsformer
Velkommen til nye PowerPoint
Utskrift av presentasjonen:

Innkapsling av request

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

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.

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.

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

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

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.

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