Java Reference
In-Depth Information
sion ). Das Callback-Interface wird in der folgenden Beschreibung des Beobachter-
Musters IBeobachter genannt.
Berücksichtigt man, dass ein Beobachter auf den Beobachtbaren über das von ihm
selbst vorgegebene Interface IBeobachtbar zugreift, so kommt man zum Klassen-
diagramm des Beobachtermusters. Dies ist im Folgenden dargestellt:
«interface»
IBeobachtbar
anmelden (o: IBeobachter)
abmelden (o: IBeobachter)
gibZustand ()
«use»
«interface»
IBeobachter
aktualisieren (o: IBeobachtbar)
Beobachtbar
Beobachter
anmelden (o: IBeobachter)
abmelden (o: IBeobachter)
gibZustand ()
aktualisieren (o: IBeobachtbar)
Bild 1-14 Klassendiagramm des Beobachter-Entwurfmusters
Durch das Callback-Interface IBeobachter mit dem Methodenkopf aktuali-
sieren(o: IBeobachtbar) wird der Beobachtbare vom Beobachter unabhängig.
Hält der Beobachter das Callback-Interface nicht ein, ist er kein Beobachter mehr.
Durch die Einführung des Callback-Interface wird ein Beobachtbarer mehrfach ver-
wendbar und ist nicht vom speziellen Beobachter abhängig. Er ruft nun die speziellen
Beobachter über das Callback-Interface auf.
Auf ähnliche Weise funktionieren Views als Listener und deren Controller. Die Kontrol-
le ist im Controller. Eine View muss nicht dauernd einen Controller nach Ereignissen
pollen. Ein Controller schreibt einer View eine Callback-Schnittstelle für Ereignisse des
Controllers vor. Mehrere Views können sich als Listener bei einem Controller anmel-
den, der dann Ereignisse generiert. Ein solcher Controller entspricht hierbei einem
Beobachtbaren. Er hat die Kontrolle, generiert Ereignisse und ist wiederverwendbar.
Das Observer- bzw. Listener-Muster ist beispielsweise im Event Handling-Mechanis-
mus von Swing umgesetzt.
Inversion of Control bedeutet in der Praxis meist, dass ein spe-
zielles Modul wie eine Anwendung die Steuerung des Kontroll-
flusses an ein wiederverwendbares Modul abgibt. Damit das wie-
derverwendbare Modul das spezielle Modul nutzen kann, definiert
das wiederverwendbare Modul ein Callback-Interface , das von
dem speziellen Modul implementiert werden muss.
Inversion of Control oder Umkehrung des Kontrollflusses ist ein Paradigma, das auch
von Frameworks umgesetzt wird, um eine Funktion einer Anwendung aufzurufen.
Search WWH ::




Custom Search