$KK(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 $B(Bilder,beobcrc.gif,lose Kopplung durch Beobachter Pattern) Eine Erweiterung des Beobachter Patterns: $B(Bilder,beobdisp.gif,Beobachter Pattern mit Dispatcher) 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.