[Flex]浅析Mate flex framework在实际项目中的应用(一)

但是这次我要说的Mate Flex Framework,在网络查找了一下,虽然有一些关于Mate的中文资料,但是基本上都介于介绍和宣传之类的问题,几乎没有关于Mate在实际应用中的作用。
那么我就来结合我使用Mate Flex Framework的一些心得,介绍一下Mate在实际项目中的作用。

什么是Mate Flex Framework:
Mate是一个基于标签(tag-based)的事件驱动(event-driven)的Flex框架,是由AsFusion创建的。

 

它的特点:

1、与Cairngorm类似也是基于event handler,但是也不同与Cairngorm,因为它没有备受争议的frontControler和频繁的使用单例模式。

2、与PureMVC就更加的不同了。Mate是完全的基于Flex的Framework,而不像PureMVC那样是一个独立的框架。

3、它是基于标签形式的,因此它的语法势必比较容易通读,但是这也限制了它的作用,因为Mate只能应用在MXML里面,即由Flex开发的project,而无法适用于完全由AS写的project。

     这是一个比较典型的Mate语法结构:

     <EventHandlers type="{QuoteEvent.GET}" debug="true">

   <RemoteObjectInvoker destination="ColdFusion"
      source="stockQuoteExample.QuoteService"
      method="getQuote"
      arguments="{event.symbol}"
      debug="true">

      
      
<resultHandlers>
         
<MethodInvoker generator="{QuoteManager}"
            method="storeQuote" arguments="{resultObject}"/>

      
</resultHandlers>

   </RemoteObjectInvoker> 
  </EventHandlers>

 

Mate的驱动者:
大量的sample:
 
Mate显著的三个特点:
EventMap(事件地图)、Injectors(依赖注入机制)、Extensions(插件、扩充)机制。
 
Mate flex framework的优势:
1、它可以应用在你已经开发了一半的Flex Project里面(只需要应用它的EventMap方式即可)同时也不会破坏掉原有的结构。
    而CairngormPureMVC如果要应用在已经开发了一半的project的话,首先它们是很难应用的,就算是强行应用的话,那么无疑会破坏掉原有project的结构。
2、由于是基于标签方式,因此可读性比较强,同时学习难度也远远的小于CairngormPureMVC。一个Flex的初学者在很短时间(下载运行调试一下Mate sample例子就应该可以上手了)内就肯定会掌握Mate了。
3、Mate由于只能在Flex里面使用,因此它比较适用于中小型团队的Flex Project开发。
4、它独有的extensions机制,可以将具体的一些功能的抽出和再应用。
 
那么Mate的缺点:
1、由于是基于标签形式,因此只能在Flex里面使用,因此限制了它的应用范围。
2、我个人认为不太适用于大型Flex Framework Project。因为它的优势EventMap在大型项目的情况下会变成它的缺点(这点我在下一篇文章说明)

这是关于Mate Flex Framework 流程介绍:(已经完结)
Mate Flex Framework 流程介绍之From views to business logic
Mate Flex Framework 流程介绍之Dispatcher and ResponseHandler tags
Mate Flex Framework 流程介绍之Listener tag
Mate Flex Framework 流程介绍之Using an adapter
Mate Flex Framework 流程介绍之Using view injection

您也可以到这里看到详细的内容:
http://www.k-zone.cn/zblog/catalog.asp?tags=mate