Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03479.jsonl.gz/1944

Was ist das Observer-Pattern?
Das Observer-Pattern ist ein Entwurfsmuster (design pattern) aus der Softwareentwicklung. Es wird in der Kategorie Verhaltensmuster (behavior pattern) eingestuft und dient der Weitergabe von Änderungen an einem Objekt an die von diesem Objekt abhängige Struktur. Das Observer-Pattern ist eines der GoF-Muster (Gang of Four - creational-, structural-, and behavioral patterns).
Wie funktioniert das Observer-Pattern grundsätzlich?
Beim Observer-Pattern gibt es grundsätzlich immer einen Observer und ein Subject. Der Observer "überwacht" bzw. hört auf Änderungen des Subjects. Für die Observer wird ein einheitliches Interface mit mindestens einer Methode definiert, z.B. zum aktualisieren der Observer. Diese Methode wird im Falle einer Änderung von dem Subject aufgerufen. Ändert sich nun etwas am Subject-Objekt, informiert dieses die Observer z.B. mit einer "notifyObserver()" Methode. Diese ruft die vorhin erwähnte Aktualisierungsmethode auf den Observern auf.
Gehen wir also davon aus, dass das Subject eine Liste mit 3 Observern hat. Ändert sich nun etwas an dem Subject, z.B. der Name, so wird die vorhin erwähnte Methode "notifyObserver()" aufgerufen. In dieser wird durch die Liste iteriert und bei jedem dieser 3 Observer wird die Aktualisierungsmethode aufgerufen. Was in dieser Aktualisierungsmethode gemacht wird hängt von der implementierung in den entpsrechenden Observern ab.
Fazit
Ich denke ich habe eine ungefähre Idee des Observer-Patterns und ich habe dies auch schon angewendet in der Einführungs-Arbeit. Jedoch muss ich glaube ich noch ein Paar Beispiele selber Programmieren, um die Zusammenhänge noch besser zu sehen.