4.4 Das Beobachter Pattern
Achte bei der Kopplung zwischen UI und Domain Schicht auf folgende Eigenschaften:
- feste Kopplung von Interaktionskomponente zum Funktionskomponente, d.h die Interaktionskomponente kennt sein Kernel Objekt
- Die Funktionskomponente kennt die Interaktionskomponente nicht.Dadurch ist es möglich die Interaktionskomponente
auszutauschen.
Problem: Änderung an der Funktionskomponente müssen angezeigt werden.
- Lösung1: Interaktionskomponente pollt jedesmal auf die Funktionskomponente.
Dadurch erreicht man totale Unabhaengigkeit der Funktionskomponente zur Interaktionskomponente.
Der Methodenfluss geht nur in einer Richtung. Allerdings ist diese Lösung extrem inperformant
- Lösung2: Man erlaubt Methodenfluß von Funktionskomponente zur Interaktionskomponente
allerdings nur über eine standardisierte Schnittstelle. Die Funktionskomponenten teilen allen
interessierten Interaktionskomponente mit, daß sie sich geändert haben.
Die Interaktionskomponenten, lesen alle notwendigen Informationen aus ihrer Funktionskomponente
und stellen sich neu dar
Der Dispatcher sorgt dafür,daß nur dijenigen Objekte nur informiert werden, die an der Änderung
im Domain-Objekt auf das UI-Objekt auswirkt. Diese Variante ist besonders dann sinnvoll,
falls Domain und UI Schicht auf verschiedenen Rechner verteilt sind.