is-Logo Objektorientierte Analyse (OOA)
Design patterns

S. Spolwig

[Home | OOP]

 

Bei der Analyse unterschiedlicher Systeme kann man immer wiederkehrende gleichartige Situationen finden, für die sich bestimmte Entwurfsmuster (design pattern) herauskristallisiert haben. Die nachfolgenden fünf Muster sind häufig anzutreffen. Für weitere sei auf die Fachliteratur hingewiesen.

(Methoden sind in den Darstellungen nicht implementiert.)
 

Analysesituation

Lösung

Gemeinsame Attribute / Verhalten

Mehrere Klassen haben gemeinsame Attribute in der Oberklasse.
Die klassische Vererbungssituation der Verallgemeinerung.

 




Abstrakte Oberklasse

Spezielle Unterklasse

Zu einer konkreten Klasse (Mitarbeiter) kommt lediglich eine Unterklasse mit Spezialisierung dazu.



Konkrete Oberklasse

a) Daten einer Beziehung festhalten

Zwei selbständige Klassen (Kunde, Auto) stehen in einer m:n-Beziehung, die über über eigene Attribute verfügt, die gespeichert werden müssen; z. B. Verleihsituationen.

b) Koordination von Objekten,

z. B. Kundin Piepenbrinck will nächsten Dienstag vom Friseur Luigi bedient werden.



Assoziation über eine vermittelnde Klasse
Container / Collection und ihr Inhalt

z. B. Bus und Fahrgäste,
Person und Namensliste



Aggregation in einer Sammlung
a) Beschreibungen

Es gibt Attributwerte (Titel, max. T.), die zu einer Menge von Exemplaren gehören. Diese werden in  der Aggregat-Klasse gespeichert, die Einzelheiten (speziellen Attr.) bleiben in der Teile-Klasse.

b) Registrierung von Ereignissen

Für ein Exemplar einer Klasse sollen bestimmte Ereignisse festgehalten werden, z. B. wann ein Mitarbeiter anwesend ist, wie lange usw. Wegen der engen semantischen Beziehung werden diese Attribute mit der Teil-Klasse aggregiert.



Aggregation von Beschreibungen
Attributwert weitergeben

Ein Attributwert hat für die Exemplare der Teil-Klasse Gültigkeit, z. B. alle Bestellpositionen einer Bestellung haben dasselbe Datum wie die Bestellung selbst.




Aggregation zur Zuordnung gleicher Attributwerte



 

©  05. Oktober 2008    Siegfried Spolwig

page_top.gif (150 Byte)