Entwurfsmuster
Entwurfsmuster (design pattern) – Lösung für bestimmtes, in Zusammenhängen wiederkehrendes Entwurfsproblems
→ Faustregel: mindestens dreimal vor der Dokumentation sinnvoll eingesetzt und/oder beobachtet haben
Klassifizierung von Designmustern
Creational Patterns: Helfen, System unabhängig davon zu erstellen, wie Objekte erstellt, komponiert und dargestellt werden.
Structural Patterns: Umgang mit der Zusammensetzung von Klassen und Objekten in größere Strukturen
Behavioural Patterns: Umgang mit der Wechselwirkung zwischen Objekten und Klassen, komplexe Kontrollflüsse
Beispiel: Strategy-Muster
Problem: Verwandte Klassen unterscheiden sich dadurch, dass sie gleiche Aufgaben durch verschiedene Algorithmen lösen
Lösung:
- Eine Klasse definiert alle gemeinsame Operationen (Strategy Context)
- Signaturen der unterschiedlich zu implementierenden Operationen werden in einer weiteren Klasse (Strategy)
- Von Klasse/Schnittstelle wird für Implementierungsalternative eine konkrete Unterklasse abgeleitet (Concrete Strategy)
- Strategy Context benutzt konkrete Strategy-Objekte, um unterschiedlich Operationen per Delegation auszuführen
Vorteil des Strategy-Musters | Nachteile des Strategy-Musters |
|
|
Vorteile der Musternutzung allgemein | Nachteile der Musternutzung allgemein |
|
|
No Comments