イベントをスルーするイディオム


今日知ったイディオム。なるほどと思った。

以下は、至って普通のコード。

package {
import flash.events.*;
import Hoge;
public class Test {
public function Test() {
var hoge:Hoge = new Hoge();
hoge.addEventListener(Event.COMPLETE, trace);
hoge.doSomething();
}
}
}

Test は普通に Hoge からのイベントをリスンしている。そして、Hoge

package {
import flash.events.*;
import Foo;
public class Hoge extends EventDispatcher {
public function Hoge() { }
public function doSomething():void {
var foo:Foo = new Foo();
foo.addEventListener(Event.COMPLETE, dispatchEvent);
foo.doSomething();
}
}
}

10 行目に注目。

foo.addEventListener(Event.COMPLETE, dispatchEvent);

第二引数に dispatchEvent を指定することでそのままイベントをスルーできる。中間管理職的なオブジェクトにちょうど良いショートカットだと思う。

カテゴリー: Flash   パーマリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>