Topic outline

  • Was sind Entwurfsmuster?

  • Warum?

  • Observer



    Das Observer-Muster ist ein Verhaltensmuster, das zur Definition einer Eins-zu-Viele-Abhängigkeit zwischen Objekten verwendet wird. Bei diesem Muster gibt es ein Subjekt (auch Observable genannt) und mehrere Beobachter (Observers). Wenn das Subjekt seinen Zustand ändert, werden alle seine Beobachter automatisch benachrichtigt und aktualisiert.


    • Erklärung des Codes

      1. Observer-Schnittstelle: Die Observer-Klasse definiert die update-Methode, die von konkreten Beobachtern implementiert wird.

      2. ConcreteObserver: Die ConcreteObserver-Klasse implementiert die update-Methode und enthält eine Referenz auf das Subject.

      3. Subject: Die Subject-Klasse enthält eine Liste von Beobachtern und bietet Methoden zum Hinzufügen, Entfernen und Benachrichtigen dieser Beobachter. Wenn das Subjekt eine neue Nachricht erstellt, werden alle registrierten Beobachter benachrichtigt.

      4. main: Im Hauptprogramm wird ein Subject erstellt und zwei ConcreteObserver hinzugefügt. Das Subjekt erstellt Nachrichten und benachrichtigt die Beobachter entsprechend.



  • MVC

    Das Model-View-Controller (MVC) Design Pattern ist eines der fundamentalsten Konzepte in der Softwarearchitektur.

    Dieses Muster ist nicht nur ein Grundpfeiler in der Entwicklung von Benutzeroberflächen, sondern auch eine bewährte Methode zur Strukturierung von Anwendungen, um sie effizienter, wartbarer und erweiterbarer zu machen.

    • Trennung von Anliegen (Separation of Concerns):

      Wiederverwendbarkeit:

      Erleichterte Wartung und Erweiterung:

      Verbesserte Testbarkeit:

      Klar definierte Schnittstellen:

    • Das Model-View-Controller (MVC) Design Pattern und das Observer-Muster sind beide architektonische Muster, die häufig in der Softwareentwicklung verwendet werden. Obwohl sie unterschiedliche Hauptzwecke haben, gibt es signifikante Beziehungen und Überschneidungen zwischen ihnen, besonders in der Art und Weise, wie sie miteinander interagieren und wie sie zur Trennung von Anliegen in einer Anwendung beitragen.