« 集合知でネットトレンドを予測 BuzzGame | main | 世界最強のajaxアプリ TRIGLAV »

2005年05月08日

Delegateクラスメモ

mx.utils.Delegateをそろそろ覚えなければなぁ、のメモ。

こいつを使うとイベントの発行で遊べるらしい。

myDataGrid.addEventListener("change",Delegate.create(this,onMyDataGridChange));

イベントの委譲 (Delegateクラス)
EventProxy vs mx.utils.Delegate
Proxying Events with the mx.utils.Delegate Class

投稿者 Taka : 2005年05月08日 17:21

book

dotfla.gif

bookmark

はてなブックマークに追加

del.icio.usに追加

trackbacks

this entry's trackback URL:
http://www.fladdict.net/cgi-bin/mt3/mt-tb.cgi/145

comment

おはようございます。

このDelegateは、便利ですよね。
簡単に関数のスコープの委譲できるから私は、よく使ってます。

例えば、私の場合、ボタンのclickイベントは
next_btn.addEventListener("click",Delegate.create(this,onClickNextButton));
のようにしています。
関数onClickNextButtonの中では、処理をほかのクラスに委譲してます。
クラス間が疎になるように、実行段階で委譲先を決定するようにしていま

by arkw : 2005年05月09日 12:16

す。

が欠けてしまいました…orz

関数onClickNextButtonの中で、
以下のような感じで、処理をほかのクラスに委譲しています。

class XXX extends MovieClip{

function onClickNextButton( e ):Void{
action.doIt();
}

}

XXXってクラスがボタン押下したタスクまで責任もってしまうと、XXXの責任が多くなってしまいますよね^^;
クラスは、一つの責任を心がけてコーディングしてます

by arkw : 2005年05月09日 12:23

>arkwさん

おはようございます。Javaのデザパタ本でDelegateパターンみて、あーこれまだ無理・・・ とか思ってずっと使ってなかったんですが、ようやっと勉強スタートです。

これって、argumentとかsetIntervalとかみたいなスコープがズレる系全般で使えるんでしょうか。それともコンポーネント専用?

by Taka : 2005年05月10日 17:58

こんばんは

> これって、argumentとかsetIntervalとかみたいなスコープがズレる系全般で使えるんでしょうか。
>それともコンポーネント専用?
はい。使えます。
私の場合は、変数代入や関数引数として、関数の参照を使いたい場合は、よほどの理由がないかぎりDelegateを使っています。

by arkw : 2005年05月10日 22:50

情報サンクスですー。時間があるときに色々と実験してみますー。

by Taka : 2005年05月15日 09:12

コメントしてください




保存しますか?