2010-12-16 4 views
0

私が遭遇するすべてのActionScriptの例では、カスタムイベントのクラス定義内に定義されたタイプでカスタムイベントを書き込みます。しかし、私の経験では、イベントをディスパッチするオブジェクトが、そのイベント(ActionScript 3ではString)の独自の定義を所有する方が理にかなっています。イベントタイプは、通常、イベントのクラス定義内に格納されるのはなぜですか?

[編集:この質問を書いた後、両方のポジションのケースがあることがわかりました。イベントタイプはイベントオブジェクトに格納する必要があります。イベントをディスパッチするオブジェクト]

あなたのテイクが何であるか、イベントタイプを格納している場所を教えてください。

+1

これは本当にJavaの質問ですか? –

答えて

1

私はここ数年間、主にPureMVCのコンテキストでこれらの組み合わせを使用してきました。 Flashインスタンス(ビューコンポーネント)はFlashイベントをキャッチし、そのクラスで定義された静的な文字列であるEventを送出します。メディエータは、ビューコンポーネントイベントをキャッチし、ノートが中央アプリケーションファサードクラスで定義されている通知を送信します。イベントをサブクラス化しないように、そしてノート本体でデータを渡すことを最小限に抑えるために、私はできるだけ多くを試しています。

これは、インターフェイスとアプリケーションロジックの両方を最も柔軟に再利用でき、アプリケーション間でプロキシとメディエータ/コンポーネントの再利用が増えると感じています。

+0

私は、 "note"という言葉に慣れていません。これを説明できますか? – Pup

+0

申し訳ありません。注はPureMVC用語です。この用語は非公式かもしれませんが、サンプルコードの多くで使用されています。 Notificationはメッセージのクラス名です。インスタンス/パラメータは、通常「メモ」と呼ばれます。すべての通知(すなわち、メモ)には、名前と関連するものがあります。 – mpdonadio

0

イベントの場合、ディスパッチャはおそらくイベントの定義に関連するコードをディスパッチャが間に合うと考えられます。私は、イベントディスパッチャーが安定したインターフェースを実装し、イベントのバリエーションからそれを保護する方が多くなります。これにより、ディスパッチャへの結合も削減され、イベント処理の柔軟性が向上します。