1

使用全局事件调度程序的缺点是什么,如下所述: http ://www.riaspace.com/2010/11/unframework-so-how-to-getaway-without-any-framework/ 请 记住,我只从事小型(ish)应用程序。

// 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 回答