FLEX中基于MVC的Cairngorm事件处理与命令执行全流程详解

FLEX 基于 MVC 的框架 Cairngorm 开发经验与实例讲解:

  1. View层操作(如点击、拖拽)产生事件。
  2. 事件类编写:继承 CairngormEvent,用于派发事件。
  3. 参数传递:创建 ValueObject 类(继承 Cairngorm 中的 valueobject 类),将参数存入其中的公共变量。 as3 var historypassvalue:ValueObject_J1000 = new ValueObject_J1000(); historypassvalue.caozuo = caozuo;
  4. 事件实例化与派发as3 var event:MyEvent = new MyEvent(historypassvalue); event.dispatch();
  5. FrontController监听事件:通过 addCommand 注册监听器,设置在主程序中实现全局监听。
  6. Command处理逻辑:自定义 MyCommand 类实现 ICommand 接口,重写 execute(event:CairngormEvent) 方法。
  7. 注意:
    • event 为父类类型,不能直接访问子类中 ValueObject 的属性。
    • 解决方法:强制类型转换。 as3 var evt:MyEvent = MyEvent(event); var caozuo:String = evt.vo.caozuo;
  8. 成功获取参数后进行具体业务处理。

小结:通过事件派发 + 参数绑定 + 命令监听的组合方式,实现了 MVC 模式中模块间的解耦与协作,是初学者学习 FLEX设计模式 的极佳资源。

zip 文件大小:34.9KB