Design Patterns
GoF-Patterns nach Kategorie – Erzeugungs-, Struktur-, Verhaltensmuster.
Lernziele
- Die drei GoF-Kategorien benennen (Erzeugungs-, Struktur-, Verhaltensmuster)
- Klassiker wie Singleton, Factory, Observer, Strategy, Adapter erklären
- Ein passendes Muster für ein Szenario vorschlagen
Kategorien
- Erzeugungsmuster: Wie werden Objekte erzeugt? (Singleton, Factory, Builder)
- Strukturmuster: Wie werden Klassen/Objekte zusammengesteckt? (Adapter, Decorator, Composite)
- Verhaltensmuster: Wie interagieren Objekte? (Observer, Strategy, Iterator, Template Method)
Singleton (Erzeugung)
Nur genau eine Instanz einer Klasse, global zugreifbar.
KLASSE Konfiguration
- statisch instanz: Konfiguration
- privat Konstruktor() …
+ statisch hole() → Konfiguration
WENN instanz = NULL DANN
instanz ← neu Konfiguration()
ENDE WENN
GIB instanz zurück
ENDE
ENDE KLASSEFactory (Erzeugung)
Erzeugt Objekte über eine Methode, nicht direkt per new.
Observer (Verhalten)
Ein Subjekt benachrichtigt beliebig viele Beobachter bei Zustandsänderungen. Typisch für Event-Systeme.
Strategy (Verhalten)
Austauschbarer Algorithmus als Objekt. Beispiel: verschiedene Sortier- oder Rabatt-Strategien.
Adapter (Struktur)
Übersetzt die Schnittstelle einer Klasse in eine andere, die der Client erwartet – wie ein Stromadapter.
MVC (Architektur)
Kein GoF-Pattern, aber prüfungsrelevant. Model (Daten), View (Darstellung), Controller (Steuerung) voneinander entkoppelt.
Übungen
Eine AntwortWelches Pattern garantiert genau eine Instanz einer Klasse?
Eine AntwortFür austauschbare Algorithmen (z. B. verschiedene Rabattarten) ist welches Pattern ideal?
Eine AntwortZu welcher Kategorie gehört Observer?