Design patterns: State og Strategy

Slides:



Advertisements
Liknende presentasjoner
Guard Tour System Grafisk program for dokumentasjon og presentasjon av
Advertisements

Memento Object Behavioral Design Pattern. Lagre og hente tilstander • Et system inneholder ofte mekanismer som trenger gjenbruk av tilstander • Memento.
Titanic Developer Team består av :
Realisering av Software Patterns Software Design Patterns Realisering med kode Refaktorering Gjenkjenning av mønstre.
Programmering i ActionScript - hva er det, og hvordan undervise?
Tre grunnleggende elementer Lover og regler Kommunikasjon Lojalitet
Sikkerhet - bakgrunn og introduksjon til kryptosystemer
En enkel måte å lage presentasjoner som gir effekt
Tjenestebasert design med dynamiske proxyer og Spring Bjørn Vidar Bøe, JavaZone 2005.
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.
Operativsystemer.  En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen.  Ofte vil det være flere prosesser/tråder på datamaskinen.
Objektorientert programmering Objektorientert systemutvikling
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
Variasjoner i subklasser.  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer.
Cabri II Lukas Radziej - Hans Martin Faane Tom K. Markeng.
Memoisering og dynamisk programmering
Forside Introduksjon Fibonacci-tall Memoisering DP Neste uke Spørsmål Introduksjon til memoisering og dynamisk programmering Åsmund Eldhuset asmunde *at*
Hvordan skrive en god utredning?
Prosjektet transparente lag Composite og tegnende objekter Decorator og gui-kontrollere Factory Method Iterator.
En kort innføring i Design Patterns
I dag snakker vi om: Brukergrensesnitt med kvalitet Bruksegenskaper Normans 7 stadier Testing med papirprototyp.
Brukergrensesnitt og design av skjermbilder
Mons Og Marte i Regneskogen
Combining Compound Conceptual User Interface Components with Modelling Patterns - a Promising Direction for Model-based Cross-platform User Interface Development.
UML og grensesnitt UML er standard for modellering innen objekt-orientert programvare kan UML også brukes til modellering av grensesnitt? fordel: bedre.
Lederen som coach Jeg kan ikke lære noen noe,
Hvordan uttrykke krav Kapittel 4.4. Innledning Målet er å samles rundt ett entydig språk som ikke kan misforståes eller feiltolkes. Gjør sporbarheten.
Design Patterns Iterator & Mediator. Gruppe 8 Presentasjonsgruppe:Resten av gruppen: Marianne AtesAndrè Johansen Tom Vidar LundeHege-Kristin Johansen.
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Singleton & Adapter Pattern Gruppe 3. Singleton Pattern Sørger for at en klasse kun kan ha en instans Vanligvis implementert med globale variabler –Singleton.
Composite & Decorator Patterns Patterns Composite Spørsmål? Introduksjon Decorator Resymé Gruppe 4 Ivar Bonsaksen Remi Karlsen Jonas Lepsøy Stian Rostad.
Improving Products Gruppe Presenteres av : Hege-Kristin Johansen Herman Kolås Marianne Ates Marit Finden Jonas Lillevold André Johansen Tom.
Automated Testing Tool & When to Stop Testing
Sensorenes rolle.
Java & OO.
Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 19 - Dynamisk programmering Korteste vei alle til alle (Floyd) Hans Fr. Nordhaug (Ola Bø)
Innkapsling av request. Køing, logging, angre Command tilhører gruppen av ”behavioral patterns” Instanser av mønsteret leder til instanser av forespørsler.
Composite GoF Structural Pattern. Alle kjenner Composite Alle som har brukt lister organisert som trær i brukermiljøer, kjenner Composite Pattern.
Grunnleggende tekstbehandling
Studentliv - Kurs i PR og markedsføring - Modul 10 1 Arbeid på PC Fortrolighet i arbeidet med PC Skikk og bruk IT-kontrakten Spørsmål?
Gruppe 5 består av: – Cecilie Vitting – – Marit S. Asklien -
Testing av objektorienterte systemer Testplanlegging
Fra Mitose til Happy-meal Innføring i “Prototype Patterns” og “Builder Patterns” Gruppe 2 Carl-Erik Herheim Leendert Wienhofen Olav Dæhli Thomas Julsen.
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
1 Prototyping: verktøy og teknikker u Årsaker til å lage en prototyp u Konsekvenser for prototypen u ”Lag og kast” vs. evolusjonær utvikling u Horisontale.
Forside Intro Fibonacci-tall Memoisering DP Longest increasing subsequence Betingelser Matrise- multiplikasjon Longest common subsequence Grådig vs. DP.
JavaFX i kodeklubben Apps i Java. Programmering og programmeringsspråk Alle programmeringsspråk er egentlig like... men alt som følger med språket (verktøy,
Objektorientert design
Kapittel 9 Polymorfi. 9.1 Sein binding Ofte er det perfekt match mellom typen til ein variabel og objektet han refererer til ChessPiece bishop;... bishop.
Kapittel 10 Exceptions Handtering av exceptions Ein exception er eit objekt som representerer ein feil eller eit unntak Exceptions blir kasta av.
MoBruk Oppstartsmøte 24/1 Tom Heine Nätt Høgskolelektor Høgskolen I Østfold.
Sosial kompetanse og empati. Sosial kompetanse Sosial: forholdet mellom mennesker Kompetanse: dyktighet Sosial kompetanse: evnen til å fungere godt sammen.
Rapportkurs Bevisst Superbrukere Repetisjon : Kubeverktøy -Filter: Mindre datasett å jobbe på, noe som kan bli mer oversiktlig. Nyttig når.
Produktnavn Tittel på presentasjon. Oversikt Gi en kort beskrivelse av produktet eller tjenesten, brukerproblemene som løses, og brukerne produktet eller.
Datakortet – Modul 3 Word 2003, Kap Modul 3.
TDT4105 Informasjonsteknologi, grunnkurs
Multiplikasjon – Om flipped classroom-opplegget – Kompetansemål og læringsmål Denne PowerPointen vil gi deg en oversikt over dette flipped classroom- opplegget.
Roboter og matematikk.
Anbefale en strategi Ideer for morgendagen.
INF5110 – 5. og 7. mai 2015 Stein Krogdahl, Ifi, UiO
4 forskjellige måter å løse 2-grad likning
Nye trender Vi skal se på Virtualisering ”Cloud computing”
Sett inn bilde av produkt her
Kom i gang med programmering!
IN3030 – Effektiv parallellprogrammering Uke 1 2. del, våren 2019
Utskrift av presentasjonen:

Design patterns: State og Strategy Gruppe 10: Erlend Fuglum Claus Håvik Tommy Kjelsrud Erik Solem Tom Egil Sørlie Hans Tømmerholt Mr. Fix-it: Bjørn Wilhelmsen

Både State og Strategy er typer av Behavioural design patterns …altså snakker vi om hvordan systemer/objekter oppfører seg og hvilke handlinger de foretar…

Problem: Tilstand og oppførsel

En mulig løsning: State Å skille ut et objekts tilstander som egne objekter. Disse objektene er subklasser av en abstrakt tilstandsklasse. Tilstanden bestemmer hvilken oppførsel programmet har Logikken for endring av tilstander kan plasseres i den abstrakte tilstandsklassen eller i kontekstklassen

Hva betyr dette? Fordeler: Ulemper: Du kan lett legge til, endre og fjerne tilstander uten at klienten trenger å bry seg Systemet blir mer oversiktlig Du slipper ”grisete” blokker med betingelser i koden Ulemper: Flere objekter, tyngre eksekvering

Eksempel: Et grafikkprogram Tilstander er verktøyene: Pensel Blyant Kloning Klippe, lime … ju neim it

Problem: Flere veier til målet

En mulig løsning: Strategy Fremgangsmåtene, eller algoritmene, for å løse et problem skilles ut som egne objekter. Objektene er subklasser av en abstrakt strategiklasse.

Hva betyr dette? Ulemper: Annet: Fordeler Detaljer er om fremgangsmåtene er skjult for klienten. Fremgangsmåter kan i stor grad endres og byttes ut, uten at det har store konsekvenser for klienten. Mer oversiktlig. Ulemper: Flere objekter. Tyngre eksekvering. Annet: Klienten må ofte foreta et valg og vite noe om de forskjellige strategiene i en gitt situasjon.

Eksempel: Tegning av spill Forskjellige krav til grafikk på forskjellige plattformer som en PDA, en PC og en sterk PC. Fremgangsmåten velges av klienten, avhengig av hvilken plattform den kjører på.

Eksempel: Tegning av spill

Eks: Sorteringsanimasjoner Forskjellige sorteringsalgoritmer kan animeres. Disse kan legges i egne klasser. Klienten kan velge direkte, eller gjennom f.eks en fabrikk.

Oppsummering I State flytter du håndteringen av en tilstand til en egen klasse. Tilstander kan lett endres, legges til og fjernes. I Strategy innkapsles fremgangsmåter i egne klasser.

The music´s over… http://www.ia-stud.hiof.no/~hansstom/se/presentasjon/dp/State-Strategy.ppt