zur Startseite zur Hauptnavigation zum Hauptinhalt zum Suchformular
MySign
Neuhardstrasse 38
4600 Olten, CH
+41 62 836 80 10,
info@mysign.ch

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. 

Observer Pattern

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.