# Wann Observer Pattern nehmen und Vorteile davon?



## frager (17. Mai 2006)

hallo, ich habs gerade mit dem observer . wann sollte man den nehmen, bzw. wann nicht? ich denke mal, immer dann, wenn es eine 1:n beziehung zwischen klassen/objekten gibt, oder? also was weiss ich, in einem objekt ändern sich daten und das brtrifft wiederum 5 andere, wäre dann 1:5. denn man könnte das ja an und für sich immer nehmen, man bräuchte dann keine setter und getter methoden mehr. jemand erfahrungen damit?

was für vorteile hat das observer pattern? ich fang mal an:

- lose kopplung schaffen (wzischen observer und obervable)
- einfach neue observer hinzufügen, ohne im obervable rumfummeln zu müssen

was noch?

gruß:-D


----------



## bygones (17. Mai 2006)

Man sollte es immer dann verwenden, wenn man eine logische Trennung der verschiedenen Ebene beibehalten will und eine Kommunikation zwischen den Ebenen haben will


----------



## frager (17. Mai 2006)

hi, was für ebenen meinst du?

gruß


----------



## Murray (17. Mai 2006)

Ich sehe nicht so recht, inwieweit das Observer/Observavble-Pattern die Verwendung von Gettern und Settern ersetzen sollte.

Für mich ist Observer/Observable eher eine Möglichkeit, die Behandlung von Zustandswechseln auf eine intuitive Art und Weise zu regeln: ein Objekt signalisert nur, dass sich ihr Zustand geändert hat; andere Objekte haben vorher ihr Interesse bekundet, über solche Zustandswechsel informiert zu werden. De facto wird dann beim Zustandswechsel die entsprechende Methode des Observers  aufgerufen, ohne dass man das im Anwendungscode auf den ersten Blick sieht.


----------



## frager (17. Mai 2006)

hi, jaja, so seh ich das ja auch. aber man könnte ja eben anstatt


myclass.setX(int x);

auch myclass als observer machen und dann eben ind er update methode x updaten, so würde setX entfallen. aber das ist sicher eher nicht so gedacht. mir ist auch klar, dass man es so nicht tun sollte.

gruß


----------



## frager (17. Mai 2006)

@deathbyaclown: meinst du die ebenen in einer 3tier architecture? man muss ja aber nicht zwangsläufig mittels observer kommunizieren. normalerweise reict es doch, eine fassade zu haben, denke ich mal. 

gruß


----------

