Observer

Entwurfsmuster Beobachter (Observer)

Das Beobachter-Muster (Observer) sorgt dafür, dass viele Objekte automatisch erfahren, wenn sich ein anderes Objekt ändert – etwa alle Anzeigen, wenn neue Messwerte eintreffen. Der Artikel erklärt Problem und Rollen, das Klassendiagramm mit Realisierung und Aggregation, die Methoden addObserver, notifyObservers und update in Pseudocode und Java sowie den Ablauf im Sequenzdiagramm. Dazu kommen die Variante mit abstrakter Klasse, Push- und Pull-Modell, Namensvarianten wie Listener, der Zusammenhang mit MVC und Datenbindung sowie typische Fehler in Aufgaben.

Softwarearchitektur: Schichten, MVC und Data Binding

Anwendungen werden meist in Schichten gegliedert: Präsentation, Fachlogik und Datenhaltung. Innerhalb der Präsentation teilt das Muster Model-View-Controller die Oberfläche in Daten (Model), Darstellung (View) und Steuerung (Controller). Ausgehend von diesen beiden Dreiteilungen wagen wir einen Blick auf das GUI-Pattern MVC, dessen Herkunft, die zentralen Eigenschaften, die alle Interpretationen des Patterns gemein haben, und auf Data Binding, mit dem Oberfläche und Daten automatisch abgeglichen werden. Ist überall MVC drin, wo MVC draufsteht?