Property beobachten: der eleganteste Weg?

Liebe Xojo-Experten,

auf der Suche nach Verbesserung treibt mich gerade die folgende Frage um:

Ich habe eine Klasse, die in erster Linie Properties zusammenfasst (in diesem Fall sind es Anrufer-Daten eines Telefonanrufs). Einige Properties werden von externen Modulen verndert, andere berechnen ihren Wert darauf basierend selbst. So weit, so gut. Die Kooperation zwischen den Modulen, die diese Klasse verwenden, und der Klasse selbst erscheint mir allerdings bisher recht unelegant. Funktioniert, aber knnte schner sein.

Die Sache ist die: Es gibt eine Schlssel-Property in dieser Klasse, nmlich die Telefonnummer. Verndert sich diese, mssen die restlichen Propertys darauf basierend neu berechnet werden. Bislang luft dies so, dass eine Methode einer anderen Klasse (des Sockets, das die Daten empfngt) die Telefonnummer in der Klasse eintrgt und dann eine Klassenmethode aufruft, die z. B. die Nummer im Adressbuch nachschlgt etc.

Das finde ich recht suboptimal, da ich Operationen der Klasse in den aufrufenden Fremdmethoden einarbeite. Ich kann mir mehrere Arten vorstellen, dies hbscher hinzubekommen:
a) Die Telefonnummer in der Klasse als Computed Property definieren und in der SET-Methode den Aufruf zur Datenupdate-Methode implementieren. Vermutlich der praktikabelste Weg.
b) Einen Thread etablieren, der die Telefonnummer periodisch mit dem gepufferten alten Wert vergleicht und bei nderungen das Update aufruft. Ziemlicher Overhead, da sich die Nummer nur selten ndert und der Thread die meiste Zeit sinnlos Kreise dreht.
c) und hier meine eigentliche Frage, da fr meinen Wissensstand die Event-Erklrungen im Handbuch nicht ausfhrlich genug sind: Gbe es eigentlich eine Verfahrensweise, um einen Event zu definieren, der Vernderungen eines Propertys registriert? Wre zwar auch mehr Aufwand als a), was vermutlich das Optimum darstellt, aber ich wrde gerne den Events bei dieser Gelegenheit ein wenig auf die Schliche kommen. Oder ginge das gar nicht, weil ich auf systemverwaltete Events beschrnkt bin und diese bestenfalls modifizieren kann?

Wie wrdet ihr das lsen, und gibt es irgendwo ausfhrlichere Beschreibung dazu? Vlt. bin ich auch nur zu blind gewesen, um in den Handbchern (fehlt den gerade wieder das Inhaltsverzeichnis?) die relevanten Seiten rauszusuchen?

Vielen Dank wieder einmal,
Uli

Du kannst Events definieren, aber für dich hört sich ein Computed Property noch am Besten an.
Natürlich könntest du im Setter auch einen Change Event aufrufen um in Unterklassen dann noch weitere Sachen zu machen, wenn sich mal was ändert.