Hallo,
ich weis, dass es ein richtig schlechter Titel ist, aber mir fällt keine prägnante Beschreibung ein.
Ich programmiere objektorientiert. Angenommen, ich habe das globale Objekt "TFahrzeuge", welches alle Fahrzeuge enthält. Diese Objekte werden auf 3 Forms benutzt zB in einer ListView, Combobox und TreeView.
Nun führt ein Benutzerverhalten (ändern/löschen etc.) dazu, dass die Liste komplett neu geladen wird, in meinem Fall aus der
DB.
Das wiederrum führt dazu, dass ich als Programmierer sicherstellen muss, dass alle drei Komponenten gleichzeitig aktualisiert werden. Vergesse ich eine, tritt bei dieser eine
AV auf, weil die Speicherbereiche sich geändert haben.
Jetzt könnte man sagen, dass man halt daran denken muss - aber wenn das Projekt wächst, dann wird's unübersichtlich.
Wie machen das andere / Wie löst ihr dieses Problem?
Ich dachte an eine Art "Listener". Jede Komponente, die die Aufgabe hat etwas mit Objekten zu tun, kann sich "registrieren". Wird jetzt das Objekt "TFahrzeuge" geändert - also neu geladen, wird allen Objekten bescheid gegeben und alle Objekte aktualisieren sich. Problem ist aber, dass - je nach Programmgröße und Anzahl der registrierten Objekte - dies unnötig lange dauern kann.
Eine andere Idee wäre es, die Komponenten immer im OnActivate einer Form zu aktualisieren. Aber das könnte den Programmablauf verzögern und das Programm würde immer kurz hängen, wenn man die Forms wechselt.
Ich hoffe, ihr versteht was ich meine und könnt mir ein paar Tipps geben.
Danke im Voraus!