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 Jon-Gunnar Bjørkmo Kjartan Haugen
Mitose: en kalv blir til Mitose: en celle deler seg i to identiske celler. Dette skjer gjentatte ganger Celler slår seg sammen blir brukt til forskjellige formål Samlingen av celler former en kalv
Fra kalv til ku Kalven har kontinuerlig mitose og vokser til å bli ku Fenotypen former seg etter miljøets innflytelse
Fra ku til hamburger Kuen er ”bruksmoden” Kuen blir fraktet til slakteren og slaktet Deler av kuen ender opp i en kjøttkvern og blir til hamburgerkjøtt
Fra hamburger til Happy Meal Hamburgeren blir transportert fra slakteren til McDonalds Hamburgeren blir brukt som del av en Happy Meal, og pent plassert ved siden av brus, pommes frittes og et leketøy
Hva var poenget? Det finnes forskjellige ”Design Patterns” 3 Grupper –Structural Design Patterns –Behavorial Design Patterns –Creational Design Patterns
Creational Design Patterns Prototype –Make new objects by cloning the objects which you set as prototypes. Builder – Separates object construction from its representation. Abstract Factory – Various methods to make various objects various ways. Factory Method – Methods to make and return components of one object various ways. Singleton – A class distributes the only instance of itself.
Hva er en ”Prototype Pattern”? ”Prototype Pattern” sørger for at et objekt kan lage tilpassede (customized) objekter, uten å vite om klassen eller detaljer om hvordan å lage dem. It works by giving prototypical objects to an object that initiates object creation. The creation initiating object then creates objects by asking the prototypical objects to make copies of themselves. (=mitose)
Når bruker man en ”Prototype Pattern”? Bruk ”Prototype Pattern” når et system skal være uavhengig av hvordan dets produkter er lagd, satt sammen og representert, og 1. Når klassene som som skal bli instansiert er spesifisert i run-time; eller 2. For å unngå å lage et klassehierarki av ’factories’ som er parallell med produktets klassehierarki; eller 3. Når instanser av en klasse kun kan ha en av få forskjellige ’state’ kombinasjoner
Hvordan ser en ”Prototype Pattern” ut? UML klasse diagram
Brukseksempel ”Prototype Pattern” Mitose Farger Labyrint For Kodeeksempler:
Hva er et ”Builder Pattern”? Metode for å konstruere komplekse objekter ved å kun spesifisere type og innhold. Separerer detaljer om objekt - ”byggingen” fra klient objektet.
Når bruker man ”Builder Pattern”? Når en algoritme som lager et komplekst objekt skal være uavhengig av de enkelte delene som utgjør objektet og hvordan de er sammensatt. Når man vil ha et komplett produkt i motsetning til en samling relaterte deler
Hvordan ser et ”Builder Pattern” ut? UML class diagram
Brukseksempel ”Builder Pattern” HappyMeal Tekst konvertering PC-bygging For Kodeeksempler:
Oppsummering Fra mitose til Happy meal (metaforisk pedagogikk) Design Patterns Prototype Patterns Builder Patterns
Spørsmål?
Referanser/lenker /W98/hongd/pres2.htmhttp://sern.ucalgary.ca/courses/SENG/ /W98/hongd/pres2.htm htmlhttp:// html sts/patts.htmlhttp:// sts/patts.html