Wednesday, November 30, 2005

Aus OOA wird OOD


Während in der OOA überlegt werden muss, WELCHE Prozesse abgebildet werden müssen, um einen Use Case zu realisieren und den Business Case zur Anwendung zu bringen, geht es beim OOD vor allem um die Frage des WIE.
Dabei haben sich verschiedene Vergehensweisen bewährt:

1. Neuorganisation der Klassenstruktur - Pakete
Zusammenfassen der Klassen nach:
.1 Verfahrensklassen - enthalten im wesentlichen Algorithmen
.2 Control-Klassen - Koordinieren die Zustände
.3 Representation-Klassen - Klassen, die mit der GUI zu tun haben
.4 Subject-Klassen - alle übrigen Klassen

2. Anwendung von Design Pattern
Das Rad muss nicht mehrmals erfunden werden. Für fast alle Probleme gibt es vorgefertigte Lösungen.
Wiederverwendbare Design Pattern enthält die einzelnen Klassen und deren Zusammenspiel, im Gegensatz zu einer reinen Klassenbibliothek. Besteht ein Pattern aus mehreren Klassen so existiert eine Art Protokoll darüber, wie die Kommunikation zwischen den Klassen funktioniert (gegenseitige Methodenaufrufe, Ereignisse in bestimmter Reihenfolge).
Es gibt zwei Rollen der verwendeten Klassen:
.1 Model-Klassen
.2 Dependents - Klassen, die sich vollständig aus den Model-Klassen ableiten. Ein Aktualisierungsmechanismus sorgt dafür, dass Zustände der Model-Klasse konsistent in den Dependents gehalten werden.

Design Pattern:
..1 Observer - findet Anwendung in den Repräsentionsklassen
..2 Delegation - Die Model-Klasse wird Aggregatklasse genannt, die Dependent-Klasse Komponenten-Klasse. Die Aggregatklasse leitet alle Aufrufe an die Komponentenklassen weiter (z.b. Resize eines Screens - automatische Weiterleitung an andere Bildschirmelemente: Button, ListBox u.a.
..3 Iterator - dient zur elementweisen Verarbeitung von Collections (Aufzählungen, Mengen, Listen über eine abstrakte Schnittstelle
..4 Composite - besteht aus einem
...1 Element mit Deklaration eines bestimmten Funktionsumfanges und Protkoll nach außen
...2 Basiselement (Blatt) mit Implementierung der Fuktionalität
...3 Gruppe mit Speicherung und Verwaltung aller zugeordneten Elemente und Delegation der Messages
..5 Strategie (Policy) - eine Steuerklasse (Mediator) als Schnittstelle übernimmt die Modellierung von verschiedenen Verfahrensweisen einer Operation

0 Comments:

Post a Comment

<< Home