Design Pattern | Observer

  • Montag, 07. März 2016 19:31
Artikel bewerten
(0 Stimmen)

Das Observer Entwurfsmuster ist für Situation geeignet, in denen ein oder mehrere Objekte benachrichtigt werden müssen, sobald sich der Zustand eines bestimmten Objekts ändert. Dieses Design Pattern kann der Kategorie: "Behavioral pattern" zugeordnet werden.

Ein Observer baut eine Beziehung zwischen einem Subjekt und seinen Beobachtern auf, so dass Zustandsänderungen mitgeteilt werden. Beispiele: Die GUI-Darstellung muss Datenänderungen folgen, Dialogelemente müssen Anwenderaktionen mitteilen. Observer besteht aus den Teilen:

  • Das Interface Observer definiert die Methode update(), die bei Zustandsänderungen aufgerufen wird
  • Die Klasse Subject definiert Methoden zur Registrierung und Deregistrierung von Observern (z.B. attach() und detach()) und ruft bei Zustandsänderungen die update()-Methoden der registrierten Observer auf
  • Konkrete Subjekte werden von Subject abgeleitet und melden ihre Zustandsänderungen über die Methode fireUpdate()
  • Konkrete Beobachter implementieren das Interface Observer, registriert sich bei den gewünschten Subjekten und werden über update() über Zustandsänderungen der Subjekte informiert In Java ist das Observer Design Pattern sehr verbreitet, meistens in einer zum "Delegation Based Event Handling" erweiterten Version: Die Beobachter werden als Listener bezeichnet, die von verschiedenen Typen sein können und mehrere update()-Varianten für verschiedene Ereignisse enthalten können. Um die Ereignisse besser bearbeiten zu können, werden den update()-Methoden Listener-spezifische Ereignisobjekte mit übergeben.
Letzte Änderung am Mittwoch, 13 April 2016 09:44
Kommentare einblenden

Copyright © 2017 ABAP-Workbench.de