1 / 14

Design patterns: State og Strategy

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.

santos
Download Presentation

Design patterns: State og Strategy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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…

  3. Problem: Tilstand og oppførsel

  4. 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

  5. Hva betyr dette? Fordeler: 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

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

  7. Problem: Flere veier til målet

  8. 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.

  9. Hva betyr dette? 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.

  10. 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å.

  11. Eksempel: Tegning av spill

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

  13. 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.

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

More Related