Öhmmm......ok.....ich hab mal gemalt.
Dabei sind die schwarzen Verbindungen der Datenfluss.
Die grünen mein Ansatz.
Die roten dein Vorschlag.
(Ich hoffe ich hab dich da richtig Verstanden).
Nochmal im Detail
Zitat:
Listboxen können sich z.B. bei einer PKW-Liste registrieren.
Wird etwas in der Liste geändert, werden alle Beobachter informiert und werden sich daraufhin neu zeichnen.
Jo das ist logisch
Zitat:
Die Einträge einer Liste wiederum können sich als Beobachter bei einem Datenobjekt eintragen.
Ähmm.....nö. Wie schon gesagt wird die Liste direkt aus der
DB gefüllt/erzeugt, je nach Sort/Filter. Dem zufolge ist die Liste ein Datenobject (soweit ich das verstanden hab)
Zitat:
Eine Detailview kann sich bei einer Liste anmelden und wird informiert, wenn sich ihr aktueller Eintrag verändert. Die View kann sich dann das aktuelle Objekt von der Liste abrufen (es muss nicht die ID sein, weil ja ohnehin dort ein Objekt vorliegt) und seinen Inhalt neu zeichnen.
Öhm, das wär sinnig für den Fall, das der Datensatz der Detailview aufgrund von Filter aus der Liste
rausfliegen würde. Mehr würde da aber auch nicht drüber laufen. Da die Liste nicht alle Daten eines Datensatzes hat, kann die Detailview auch ihre daten nicht von der Liste bekommen. Wär auch nicht grad sinnig, den Hauptspeicher mit den ganzen Datensätzen zu zupflastern.
Zitat:
Wenn Du in der Detailview einen Eintrag hinzufügen oder löschen willst, dann muss diese View auch die ObjektListe von der Listbox abrufen. Sie muss aber dann nicht die Listbox informieren, wenn Sie ein Add oder Delete ausführt, da die Liste selbst ihre Beobachter über Änderungen informiert. Ok, für die nachträgliche Synchronisation des aktuellen Records kann eine Abstimmung Sinn machen.
Aber über die Beobachterliste kann man ja alle Interessenten anschauen und entscheiden, welche Informationen diese erhalten sollen.
Ok...mal sehen ob ich das so richtig verstanden hab.
Die Detailview übergibt die (eingegeben) Daten an ihr Datenobjekt (einzelner, kompletter DS), dieses Informiert seine Beobachter (u.a. die Datenliste) über die Veränderung. Die Datenliste wiederum informiert den Listview, das er sich neu zeichnet.
hmmm....