Beobachter-Muster

Übungsaufgaben zu Klassenbeziehungen: Assoziation, Aggregation, Komposition und Multiplizitäten

Drei Übungsaufgaben zu Beziehungen im UML-Klassendiagramm: ein Klassenmodell mit Multiplizitäten und Rollen aus einer Planungsnotiz erstellen, Aggregation und Komposition an Diagramm, Quelltext und Objektdiagramm untersuchen sowie aus einem Java-Prototyp ein Klassendiagramm ableiten, seinen Ablauf vorhersagen und einen fehlerhaften Entwurf korrigieren.

Übungsaufgaben zum UML-Sequenzdiagramm

Vier Übungsaufgaben zum UML-Sequenzdiagramm: ein Diagramm aus einem Server-Protokoll ableiten und Wartezeiten ablesen, Objekterzeugung, Selbstaufrufe, verschachtelte Fragmente und Objektzerstörung modellieren, einen REST-Ablauf mit Cache bewerten, ein Beobachter- und ein Stellvertreter-Muster aus Java-Code ableiten und einen Diagrammentwurf in Code umsetzen.

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.

UML-Sequenzdiagramme

Mit UML-Sequenzdiagrammen wird die zeitliche Abfolge von Nachrichten zwischen Akteuren dargestellt. Die einzelnen Bestandteile und wesentlichen Notationsmittel werden hier an Beispielen vorgestellt. Außerdem geht es darum, wie Du aus einer Ablaufbeschreibung oder aus Pseudocode Schritt für Schritt ein Diagramm entwickelst, wie Entwurfsmuster und Web-Anfragen im Diagramm aussehen und welche Fehler typisch sind. Es werden Literaturtipps und Tooltipps gegeben sowie auf Übungsaufgaben verwiesen.

UML-Klassendiagramm Objektbeziehungen – Assoziationen

Mit einzelnen Objekten erreicht man in der objektorientierten Programmierung (OOP) noch nicht viel. Erst im Zusammenspiel als Objektsammlungen und über Objektinteraktionen entwickelt die OOP ihre Stärken. Der folgende Text behandelt die Fragen: Welche Objektbeziehungen gibt es? Was unterscheidet Abhängigkeit, Assoziation, Aggregation und Komposition? Wie liest und begründet man Multiplizitäten, und woran erkennt man die passende Beziehung in Anforderungstexten, Quelltexten und Entwurfsmustern? Versuch der Klärung.