2010-12-16 7 views
0

In allen ActionScript-Beispielen, auf die ich stoße, schreiben Benutzer benutzerdefinierte Ereignisse mit den Typen, die in der Klassendefinition des benutzerdefinierten Ereignisses definiert sind. Nach meiner Erfahrung ist es jedoch sinnvoller, dass das Objekt, das ein Ereignis absetzt, eine eigene Definition dieses Ereignisses besitzt (was in ActionScript 3 ein String ist).Warum werden Ereignistypen normalerweise in der Klassendefinition eines Ereignisses gespeichert?

[EDIT: Nachdem ich diese Frage geschrieben habe, habe ich gefunden, dass es Fälle für beide Positionen gibt - in einigen Situationen sollten Ereignistypen auf dem Ereignisobjekt gespeichert werden, und in anderen sollten sie auf dem gespeichert werden Objekt, das die Veranstaltung absendet.]

Bitte sagen Sie mir, was Sie davon halten und wo Sie sich befinden, wenn Sie Ereignistypen speichern.

+1

Ist das wirklich eine Java-Frage? –

Antwort

1

In den letzten Jahren habe ich eine Kombination von diesen verwendet, hauptsächlich im Zusammenhang mit PureMVC. Flash-Instanzen (Anzeigekomponenten) fangen Flash-Ereignisse ab und senden dann ein Ereignis, wobei der Typ eine statische Zeichenfolge ist, die in dieser Klasse definiert ist. Der Mediator erfasst die Ereignisse der Ansichtskomponenten und sendet dann Benachrichtigungen, in denen die Notizen in der zentralen Anwendungsfassadenklasse definiert sind. Ich versuche auch so viel wie möglich, keine Unterklasse von Event zu erstellen und die Weitergabe von Daten in Notenkörpern zu minimieren.

Ich denke, dass dies die größtmögliche Flexibilität bei der Überarbeitung sowohl der Schnittstellen als auch der Anwendungslogik ermöglicht und auch eine größere Wiederverwendung von Proxies und Mediatoren/Komponenten zwischen Anwendungen ermöglicht.

+0

Ich bin nicht vertraut mit dem Begriff "Note". Kannst du das erklären? – Pup

+0

Entschuldigung. Hinweis ist ein PureMVC-Begriff. Der Begriff kann inoffiziell sein, wird aber im Großteil des Beispielcodes verwendet. Benachrichtigung ist der Klassenname für Nachrichten. Die Instanz/der Parameter wird typischerweise "Notiz" genannt. Jede Benachrichtigung (dh eine Notiz) hat einen Namen und einen Körper, der ihnen zugeordnet ist. – mpdonadio

0

Wenn Ereignis der Dispatcher Code hat, der die Definition des Ereignisses betrifft, ist der Dispatcher wohl zusammenhängend. Ich würde eher dazu neigen, den Event-Dispatcher dazu zu bringen, eine stabile Schnittstelle zu implementieren, die ihn vor Variationen in den Ereignissen schützt. Dies reduziert auch die Kopplung mit dem Dispatcher und ermöglicht eine größere Flexibilität bei der Handhabung von Ereignissen.

Verwandte Themen