Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Bendik Bygstad 3.12.02 En kort innføring i Design Patterns Kilde: Craig Larman: Applying UML and Patterns.

Liknende presentasjoner


Presentasjon om: "Bendik Bygstad 3.12.02 En kort innføring i Design Patterns Kilde: Craig Larman: Applying UML and Patterns."— Utskrift av presentasjonen:

1 Bendik Bygstad En kort innføring i Design Patterns Kilde: Craig Larman: Applying UML and Patterns

2 Bendik Bygstad Patterns (mønstre) Stammer fra arkitekturteori Christopher Alexander (1977): A Pattern Language En standard løsning på et standard problem – men på en slik måte at hver enkelt anvendelse blir ulik.

3 Bendik Bygstad Patterns Det er kjente måter å løse tilbakevendende problem på. De beskrives gjerne som Problem-Løsningspar og har kjent under bestemte navn. De beskriver fundamentale prinsipper for objektdesign og tildeling av ansvar, uttrykt som mønstre.

4 Bendik Bygstad Patterns Patterns gjør det mulig å samle og beskrive gode og velprøvde måter å designe OO-systemer på. Gjør det mulig for eksperter å kommunisere effektivt om OO- designproblemer. Diskusjonen foregår på et mer abstrakt / overordnet plan.

5 Bendik Bygstad Patterns - syntaks Navn Kontekst Problem Løsning (kjerne) Forhold til andre patterns - alle kan lage/publisere patterns….

6 Bendik Bygstad GRASP patterns General Responsibility Assignment Software Patterns High Cohesion (Høy Sammenheng) Low Coupling (Lav Kobling) Information Expert (Informasjonsekspert) Creator (Skaper) Controller

7 Bendik Bygstad To andre patterns Layers (Lagdeling) Fasade

8 Bendik Bygstad Kohesjon og kobling Grunnleggende prinsipper i OO utvikling for å håndtere kompleksitet: Høyest mulig grad av kohesjon Lavest mulig grad av kobling

9 Bendik Bygstad Informasjonsekspert og Creator Informasjonsekspert: Tildeling av ansvar Tildel ansvar til informasjonseksperten – klassen som har den nødvendige informasjonen for å oppfylle ansvaret Creator: Opprette instanser av klasser A oppretter B dersom A aggregerer, inneholder eller bruker B-objekter, eller hvis A inneholder informasjon som er nødvendig for å opprette B.

10 Bendik Bygstad Kontroller Mottar innkommende hendelser Formidler mellom GUI-lag og domenelag Viktig i arkitekturen: Muliggjør flere typer grensesnitt uten for mye ombygging Typer: Use Case controller og system-kontroller

11 Bendik Bygstad Fasade Inngang til pakke (av flere klasser) Samme rolle som kontroller, inne i pakken Innkapsler pakken

12 Bendik Bygstad Lagdeling Tre lag: Presentasjon – Domene – Lagring Seks lag (Layers-pattern’et): –Presentasjon (GUI) –Applikasjon (sesjoner, kontrollere) –Domene (domeneklasser, fasader) –Forretnings-infrastruktur (f.eks valuta-konvertering) –Tekniske tjenester (persistens, sikkerhet) –Fundament (Databaser, filer) Avhengigheter: Nedover i lagene (ikke omvendt)

13 Bendik Bygstad Lagdeling GUI 1GUI 2 Kontroller FakturaKunde Valutakonv. Les/skriv DB 1DB 2 Vare Presentasjon Applikasjon Domene Forr.infrastr. Tekniske Tjenester Fundament


Laste ned ppt "Bendik Bygstad 3.12.02 En kort innføring i Design Patterns Kilde: Craig Larman: Applying UML and Patterns."

Liknende presentasjoner


Annonser fra Google