1

http://www.riaspace.com/2010/11/unframework-so-how-to-getaway-without-any-framework/で説明されているように、Global Event Dispatcher を使用することのデメリットは何ですか 。私は小さな(っぽい)アプリケーションだけに取り組んでいます。

// eventDispatcher.as script file

package 
{
    import flash.events.IEventDispatcher;

    public function get eventDispatcher():IEventDispatcher
    {
        return _eventDispatcher;
    }
}

import flash.events.EventDispatcher;
import flash.events.IEventDispatcher;

var _eventDispatcher:IEventDispatcher = new EventDispatcher();

public class MyViewPM
{
    public function btn_clickHandler():void
    {
        eventDispatcher.dispatchEvent(new MyEvent(MyEvent.EVENT_TYPE));
    }
}
4

1 に答える 1

5

小規模なプロジェクトで独自に作業している場合は、おそらくグローバル ディスパッチャーで問題なく、時間を少し節約できます。

問題は、より大きなアプリケーションと同じコードベースで作業する複数の開発者にあります。私の経験では、(経験の浅い) 開発者はすぐにグローバル イベント システムを悪用し、実際にはローカル イベント (ほとんどの場合はビュー イベント) であるはずのイベントを送信します。これにより、誰がディスパッチし、誰が特定のイベントをリッスンするかをほとんど制御できないため、コードの理解、テスト、および変更が難しくなります。グローバルな状態と同様に、データはさまざまな場所で同時に変更される可能性があり、デバッグの悪夢につながる可能性があります。

強化されたグローバル ディスパッチャに興味がある場合は、AS3Commons EventBusを調べてください。

于 2013-01-30T11:58:52.310 に答える