lose Kopplung

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.

Abstrakte Klassen und Interfaces

Ein großes Problem bei Objekt- und Klassenbeziehung ist die starke Kopplung unterschiedlicher Klassen aneinander. Der Austausch von Verhalten ist so nur mit großem Aufwand möglich. Das Konzept der Abstraktion bietet hier in Form von abstrakten Klassen und Interfaces die Möglichkeit, Komponenten lose zu koppeln. Der Artikel zeigt, wie beide im UML-Klassendiagramm notiert werden, worin sie sich von konkreten Klassen unterscheiden und welche Fehler häufig passieren.