(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】役割と実装例です。