Observer Pattern: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{In Bearbeitung}}
=Definition=
=Definition=
Unter Eventhandling (Ereignisverarbeitung) versteht man die asynchrone Verarbeitung  
Unter Eventhandling (Ereignisverarbeitung) versteht man die asynchrone Verarbeitung  

Version vom 28. Dezember 2006, 12:00 Uhr

Dieser Artikel wird derzeit von einem Autor gründlich bearbeitet. Die Inhalte sind daher evtl. noch inkonsistent.

Definition

Unter Eventhandling (Ereignisverarbeitung) versteht man die asynchrone Verarbeitung von Nachrichten. Diese Nachrichten werden meist durch einen Benutzer ausgelöst.

Bemerkungen

Für das Wort Nachricht werden oft Event und Ereignis synonym benutzt. Nicht nur Benutzer sondern auch Objekte selber oder das Betriebssystem können Nachrichten verschicken. Für interaktive Anwendungen ist ein gut funktionierendes Eventhandling sehr wichtig.

Beispiele

Anschauliche Beispiele für Events, auf welche die Anwendung reagieren soll:

Auswählen eines Menüpunkts, Minimieren eines Fensters etc.

Als Beispiel aus dem realen Leben kann die zwischenmenschliche Kommunikation betrachtet werden. Die Mutter (Event-Source) schickt an ihren Sohn (Event-Listener) die Nachricht (Event) "Alex, das Essen ist fertig, komm doch zu uns". Weil der Sohn im Laufe der Jahre (hoffentlich) gelernt hat, wie er auf diese Nachricht am besten reagieren soll, unterbricht er sein Spiel und setzt sich mit den Eltern an den Tisch.

Technische Realisierung

An dem Eventhandlingmechanismus sind folgenden drei Elemente beteiligt:

eine Event-Quelle (Event-Sourse) ist ein Objekt, das Nachrichten generiert, z.B. ein Button.

ein Event-Objekt (Event-Listener) ist ein Objekt, welches auf Nachrichten reagieren möchte. Nach Betätigung eines Buttons könnte z.B. ein Textfeld (Event-Listener) einen neuen Text anzeigen.

Meistens muss sich ein Event-Listener erst bei dem Event-Source registrieren, damit er bei einem Event benachrichtigt wird. Das kann man mit Anmeldung bei einem E-Mail-Dienst vergleichen, nur wenn man sich angemeldet hat, bekommt man ein Newsletter.

Die Eventquelle generiert eine Nachricht und schickt sie an alle Event-Listener, die dafür angemeldet sind. Dabei spricht man von Multicast-Mechanismus.

Quellen

Heinisch C., Müller F., Goll J. (2005): Java als erste Programmiersprache