Patterns und Idioms:
Einführung in wiederverwendbare Konzepte
Beispiel: COMPOSITE PATTERN
INTERAKTIONEN
- Clients verwenden die Schnittstelle von Component, um
Botschaften an die Objekte in der Hierarchie (Components: Items und
Compositions) zu senden
- ist Empfänger ein Item, wird Anfrage direkt beantwortet
(Operation)
- ist Empfänger eine Composition, wird Anfrage an die enthaltenen
Components verteilt
KONSEQUENZEN
- Vereinfachung im Client
- Vereinfachung beim Definieren und Hinzufügen neuer Clients
- Gefahr der Über-Generalisierung: Keine Einschränkung bei den
akzeptierten Components; evtl. dynamische Typüberprüfung (RTTI)
notwendig
- Gefahr der unendlichen Rekursion
IMPLEMENTATION
- Speicherung der Components? Listen, Bäume, Arrays, Hash-Tabellen,
Ordnung notwendig?
- evtl. Ordnung der Kindobjekte: Verwaltungsschnittstelle ändern: