Mate Flex Framework 流程介绍之One-way Communication

原文地址: http://www.k-zone.cn/zblog/post/flex-mate-framework-diagrams-1.html


本来还剩下一篇文章:《介绍Mate Flex Framework里面比较重要特性:extensions》

而这个功能也是属于Mate比较高级的功能,但是为了让大家更加的可以巩固之前的内容,因此extensions的介绍我打算先放一下,先系统的介绍一下Mate Framework的流程。
 
本次介绍的是一个比较简单的流程: 从视图发送消息给逻辑层(from veiws to business logic)
请先看一下流程图:

 
由于原图已经把这个简单的流程进行了一些翻译,但是我在上图中去掉了这些解释,原因是想用自己的语言来进行描述,而非翻译英文的方式。
 
okay,那么我们开始吧:(我会结合上几个例子来进行翻译的)
 
1、视图会触发消息(dispatchEvent( new MyEvent( MyEvent.CLICK_ME )); )
     当触发了 MyEvent.CLICK_ME后,Mate Framework会把这个event送到被称作一个“Event Bus”的地方(请大家注意:这个EventBus是虚拟的,并不是存在于我们的实体代码里面,或者说是Mate的逻辑机制)
2、而Event Bus会将这个触发的Event告诉事件地图(Event Map)。
      Event Map里面会事先做好一些事件的处理逻辑(即定义好一些EventHandler)
3、在这些定义好的EventHandler里面,会有一组动作来响应这个Event(即从Event Bus送过来的 myEvent.CLICK_ME)
      在之前的例子中,我们定义的EventHandler的结构是:
      <EventHandlers type="{ MyEvent.CLICK_ME }">
          <MethodInvoker generator="{ A }" method="myEventHandler" />
      </EventHandlers>
      其中 黑色斜体的就是我们要执行的动作(使用 MethodInvoker来触发A.mxml中的 myEventHandler这个方法,同时我们也可以使用其他的一些Mate标签,例如传入参数等。
      而在上图中,它除了调用MethodInvoker外,还调用了调用了ServiceInvoker。
4、同时根据流程图的顺序是:首先调用的是ServiceInvoker,从而返回一些结果值。然后调用的MethodInvoker。
       例如将调用ServiceInvoker得到的一些返回值,传送给MethodInvoker指定的某个class。
 
通过以上的步骤就完成了简单的Mate事件处理。
 
我在总结一下这个简单的流程:
首先分派MyEvent.CLICK_ME,然后会给一个叫做Event Bus的虚拟机制(我想应该是Mate Flex Framework的核心逻辑),同时Event Bus会将分派的内容传送给EventMap里面指定的EventHandler(分派的标识即时Event Type)。而在EventHandler里面会定义一些动作,同时按照一定的顺序来执行这些动作(例如加入负责处理Service的ServiceInvoker、或者处理method的MethodInvoker等)
 
是不是很简单呢?那么下一次我将会介绍一个稍微复杂一些的流程:双向通讯:分派和响应标签(two-way Communication:Dispatcher and ResponseHandler tags)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值