(5)【CairngormEventDispatcher】役割と実装例
com.adobe.cairngorm.control.CairngormEventDispatcher;の説明です。(Cairngorm2.1)
役割
イベント送出機能を担当する。
■
flash.events.EventDispatcherのラッパクラス(Adapter)です。Singletonで作成されています。
カスタムイベントである、CairngormEventを作成および送出します。
イベントリスナーの登録
FrontControllerがアプリケーション起動時に、CairngormEventDispatcherを呼び出してイベントリスナーに登録します。
※この動作はFrontControllerとCairngormEventDispatcher間で完結しますので実装時は意識する必要がありません。
イベントの送出
主にViewHelperから以下の記述方法で呼び出されます。
また、1ユーザージェスチャーで複数のコマンドを実行するためのSequenceCommandクラスにおいても意図的に呼び出されます。
CairngormEventDispatcher.getInstance().dispatchEvent( eventObject );
実装例
ViewHelper等から
CairngormEventDispatcher.getInstance().dispatchEvent( eventObject );
と呼び出す必要がありますが、
特定のアプリケーション向けにカスタマイズしたEventDispatcherを作成する必要はありません。
このクラスは、イベント駆動の仕組みの肝だと思います。
Webアプリばっかりやっていた私は、このあたりを理解するのに結構苦労しました。
イベントとイベントディスパッチャについて、Adobeのリファレンスを見るのがもっとも近道かもしれません。
http://livedocs.macromedia.com/flex/2_jp/langref/index.html(flash.events.EventDispatcher)
次回は、【CairngormEvent】役割と実装例です。