Wann Observer Pattern nehmen und Vorteile davon?

  • Themenstarter Themenstarter frager
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
F

frager

Gast
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
 
Man sollte es immer dann verwenden, wenn man eine logische Trennung der verschiedenen Ebene beibehalten will und eine Kommunikation zwischen den Ebenen haben will
 
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.
 
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ß
 
@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ß
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben