论坛首页 编程语言技术论坛

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

浏览 1565 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-09-14   最后修改:2010-05-05

做项目也有很长时间了,也用过很多的framework:Cairngorm、PureMVC等等。但是这次我要说的mate
framework,在网络查找了一下,虽然有一些关于mate的中文资料,但是基本上都是介于介绍和宣传之间的内容,几乎没有关于mate在实际应用中
的作用的内容。那么我就结合我使用mate 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的驱动者:http://mate.asfusion.com/


大量的sample:http://mate.asfusion.com/page/examples


Mate显著的三个特点:EventMap(事件地图)、Injectors(依赖注入机制)、extensions(插件、扩充)机制。

Mate flex framework的优势:


    它可以应用在你已经开发了一半的flex
    project里面(只需要应用它的EventMap方式即可)同时也不会破坏掉原有的结构。而Cairngorm、PureMVC如果要应用在已经开发
    了一半的project的话,首先它们是很难应用的,就算是强行应用的话,那么无疑会破坏掉原有project的结构。
  1. 由于是基于标签方式,因此可读性比较强,同时学习难度也远远的小于Cairngorm、PureMVC。一个Flex的初学者在很短时间(下载运行调试一下mate sample例子就应该可以上手了)内就肯定会掌握Mate。
  2. Mate由于只能在Flex里面使用,因此它比较适用于中小型团队的flex project开发。
  3. 它独有的extensions机制,利用具体功能的抽出和再应用。


那么Mate的缺点:

  1. 由于是基于标签形式,因此只能在Flex里面使用,从而限制了它的应用范围。
  2. 我个人认为不太适用于大型flex framework project。因为它的优势(EventMap)在大型项目中会变成它的缺点(这点我在以后的文章会进行详细说明)


下一次我会详细说明mate flex framework的这三个特点。


原文地址:http://www.riameeting.com/node/160

 

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics