[Flex]Mate Flex Framework 流程介绍之One-way Communication
Mate Flex Framework 流程介绍:
Mate Flex Framework 流程介绍之One-way Communication
Mate Flex Framework 流程介绍之Two-way Communication
Mate Flex Framework 流程介绍之 Listener tag
Mate Flex Framework 流程介绍之Two-way Communication
Mate Flex Framework 流程介绍之 Listener tag
Mate Flex Framework 流程介绍之One-way Communication
本来还剩下一篇文章:《介绍Mate Flex Framework里面比较重要特性:extensions》由于原图已经把这个简单的流程进行了一些翻译,但是我在上图中去掉了这些解释,原因是想用自己的语言来进行描述,而非翻译英文的方式。
okay,那么我们开始吧:(我会结合上几个例子来进行翻译的)
1、视图会触发消息(dispatchEvent( new MyEvent( MyEvent.CLICK_ME )); )
Event Map里面会事先做好一些事件的处理逻辑(即定义好一些EventHandler)
<MethodInvoker generator="{ A }" method="myEventHandler" />
</EventHandlers>
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)。