Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

En kort innføring i Design Patterns

Liknende presentasjoner


Presentasjon om: "En kort innføring i Design Patterns"— Utskrift av presentasjonen:

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

2 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. Bendik Bygstad

3 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. Bendik Bygstad

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

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

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

7 To andre patterns Layers (Lagdeling) Fasade Bendik Bygstad

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

9 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. Bendik Bygstad

10 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 Bendik Bygstad

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

12 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) Bendik Bygstad

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


Laste ned ppt "En kort innføring i Design Patterns"

Liknende presentasjoner


Annonser fra Google