1 / 11

GoF

GoF. GoF er fire systemutviklere, Gang of Four GoF fikk utgitt boken Design Patterns høsten 1994 Boken Design Patterns er en klassiker Design Patterns beskriver 23 patterns (mønstre) Hvert mønster tilhører en av tre hovedtyper. Hovedtyper. Creational Patterns

Download Presentation

GoF

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. GoF GoF er fire systemutviklere, Gang of Four GoF fikk utgitt boken Design Patterns høsten 1994 Boken Design Patterns er en klassiker Design Patterns beskriver 23 patterns (mønstre) Hvert mønster tilhører en av tre hovedtyper

  2. Hovedtyper • Creational Patterns • Begrensninger i instansiering • Hvem skal få ansvar for instansiering • Hvordan bør instansiering foregå • Structural Patterns • Klassestrukturer med arv og interface • Objektstrukturer med komposisjon og dynamisk funksjonalitet • Behavioral Patterns • Kommunikasjonsmønstre i klasse- og objektstrukturer • Assosiasjoner av typen komposisjon

  3. Creational Patterns • Singleton • Kontrollerer antall instanser, normalt begrenset til en instans. • Se javakode[13].Singleton og javakode[13]. AnXmlGui. Mychooser • Abstract Factory • Skjuler den instansierte/konkrete klassen • Skjuler konstruktører, som i stedet brukes i factory methods • Se Toolkit.getDefaultToolKit() javakode[10].TestTransparent • Se DriverManager.getConnection(a,b,c) javakode[13].EnkelSQL… • Builder • Factory method • Prototype

  4. Structural Patterns • Adapter • Bygg nytt interface for å oppnå samarbeid med immutable klasser • Facade • Bygg forenklet og entydig interface for å gjøre et mer komplisert og flertydig subsystem enklere å bruke • Bridge • Composite • Decorator • Flyweight • Proxy

  5. Adapter • Tilpassing av grensesnitt • Eksempel: Client bruker alltid Iterator

  6. Facade • Klientobjektene trenger et enklere grensesnitt!

  7. Behavioral Patterns • Iterator • Gir aksess til en aggregats datasett uten å eksponere kildens modell • Eksempel: Properties.keys(), Properties.elements(), Vector.Iterator() • Command • Objektinnkapsling av forespørsler, slik at action source og action target er helt isolert fra hverandre. • Observer • Automatisk oppdatering av informasjon om tilstandsendringer • Se javakode[13].patterns • Visitor • State • Strategy, Template Method, Interpreter, Mediator, Memento

  8. Struktur i Command • Isolerer kilde og utfører • Mønsteret viser isoleringen mellom invoker - receiver, og Client - ConcreteCommand

  9. Praktisk Command • Synergier er angre og makro-innspilling • Se javakode[13].patterns

  10. Sammenhenger • GoF Adapter realiserer mange av prinsippene i GRASP • Det samme gjelder for flere prinsipper innenfor GRASP • … og det samme kan sies om mange flere patterns i GoF • GRASP inneholder mange av de grunnleggende ideene (Larman 2005, side 439)

  11. Trening? • Hent http://oo.hive.no/uml/ordliste.jar • Omdøp om nødvendig til ordliste.jar • Bruk menyen valg i programmet • Hent filen patterns.dictionary

More Related