Robotlegs 框架事件的理解

最近在学习Robotlegs框架,现将其基于MVCS事件处理的流程画出来,方便以后再理解。

另外,如果要建立多Context时,就会遇到将多个Injector的信息进行合并,从而就产生了Injector的关联网络。

是依赖于InjectorRule来完成。可以是树形,也可以是交叉形,并不一定先哪一种,可以是两种形态的复合体。

下图是树形:

新的系统技术主要架构设想

最近在用GDS2.0 和Spring集成测试后,感觉速度还是可行,就对测试的结果进行总结,画几张图说明。

 

 

 

通过这种方式来写系统,服务器端要先完成服务接口的建模和数据库的建模,然后就可以服务实现与客户端的开发同时进行。

客户端再基于pureMVC框架上开发就可以界面与代码相分离,分工开发,最后可以通过spring actionscript注入实现方法。

提供下载点击下载此文件

Flex 框架比較

比較判断基準
1,容易理解度
 2,导入难度
 3,代码编写量
4,类库的易用度
5,测试的难易度
6,文档的丰富度
7,与服务器的亲和度
8,已存在程序的改造难易度
9,维护的难易度
10,知名度
11,适用项目规模(假定 1 个画面约30个项目)

flex比較表

項目名                     Cairngorm                  PureMVC          Mate                   YUI-Framework
容易理解度                 ★★★★                      ★★★★            ★★                    ★★★★
导入难度                    ★★                          ★★                    ★★                    ★★★
代码编写量                                                                    ★★★★             ★★
类库的易用度              ★★                           ★★                    ★★                  ★★★
测试的难易度                                             ★★                    ★★★                 ★★
文档的丰富度             ★★★★                   ★★★★             ★★                  ★★
与服务器的亲和度       ★★★★                    ★★★★             ★★                  ★★
已存程序改造难易度                                                        ★★★                 ★★★
维护的难易度              ★★                           ★★                    ★★                    ★★
知名度                         ★★                                                  ★★★                ?
适用项目规模           画面数<30              画面数<100                           ?

比较PureMVC和Cairngorm的GUI架构

作者 Moxie Zhang译者 郭晓刚 发布于 2008年7月4日 上午1时7分

富有经验的Java开发者Per Olesen在Tech Per上发了一篇博客文章,比较两个最流行的flex框架,PureMVCCairngorm,并且着重比较了可用性和它们对GUI架构模式的应用。

在开发中以设计模式为指导已经是Java开发者的基本技术。在flex和ActionScript开发者当中,设计模式的实践要么是从Java开发经验中来的,要么就是由一些ActionScript/Flex框架带来的。Olesen描述了这个过程:

为了帮助架构这类应用,发展出了一些GUI架构的模式。其中一些比较著名的模式,Martin Fowler已经作了很好的描述,比如a href="http://martinfowler.com/eaaDev/PresentationModel.html">Presentation Model(呈现模型)和Supervising Presenter。它们不是像MVC一样完整的用户界面架构,而是一些比较小的架构指引,涉及的是应用程序的逻辑如何与视图框架的API联系起来。

他解释说:

PureMVC有一个名为Mediator的构造,顾名思义,它就是Mediator模式的实现,充当视图API和程序其余部分的API之间的中介。这是PureMVC实现MVC架构视图部分的关键构造。引入它是为了减少应用和视图之间的依赖,从而降低整个系统的耦合程度。

Olesen还指出PureMVC有一份关于实现之惯例和最佳实践的文档,文档中还以实际的例子LoginPanel进行解说。在例子里可以看出,只有mediator了解视图,视图对mediator一无所知。

在分析了PureMVC的文档提供的源代码之后,Olesen相信这个其实就是Supervising Presenter模式或者Passive View(被动视图)模式。两种模式都把行为从视图中抽出来,将之放入与视图耦合的一个表现类。在两个模式中,都是“表现者知道视图,视图不知道表现者 ”。因此两种模式的区别在于如何抽取逻辑。PureMVC的mediator与Supervising Presenter最为接近。

谈到Cairngorm框架,Olesen的观察是:

Cairngorm没有mediator、supervising presenter,或者passive view的概念。实际上批评它的人很多,因为它鼓吹的方案是将视图组件的状态直接绑定到模型。但更糟的问题是模型只是通过单体模式表达的一个全局状态。

在Cairngorm文档和例子(无论是简单的联系人管理程序还是比较复杂的Cairngorm Store)中,这个问题更加突出。视图中有许多逻辑,而且是按照Autonomous View(自治视图)模式来安排的。什么是Autonomous View模式呢?Martin Fowler的回答是:将一个窗口所有的表现状态和行为都放在一个类里。

Olesen觉得这种模式等于是没有模式。他觉得采用Cairngorm的应用程序里的自治视图是在鼓励直接把数据绑定到一个全局模型的实例上,非常不利于分离视图和模型两者的关注点。

最后,Olesen并非简单地认为这个框架比那个好,他的结论是:

无论是哪个框架,UI模式都只是框架的一部分,虽然是重要的一部分。有人会觉得PureMVC自带的东西更多一些,mediator是框架中内建的概念。中介者及以通知方式进出中介者的通信,都很好地整合进了PureMVC框架。

查看英文原文:Comparing GUI Patterns in PureMVC and Cairngorm

Mate Flex Framework

源文出处:http://wangcheng.javaeye.com/blog/217765


关键字: mate flex framework event driven tag based mxml

Mate 是一个基于标签(tag-based)的事件驱动(event-driven)的flex框架。是由AsFusion创建的。

Mate is a tag-based, event-driven Flex framework

Flex应用是事件驱动的。创建Mate是为了更容易的处理你的Flex应用的事件。

Mate提供了一个依赖注入机制,使程序获取数据和对象更容易。

Flex applications are event-driven. Mate framework has been created to make it easy to handle the events your Flex application creates.

Mate provides a mechanism for dependency injection to make it easy for the different parts of your application to get the data and objects they need

InfoQ: Flex框架Mate的Alpha版闪亮登场

http://www.infoq.com/cn/news/2008/07/mate-flex-framework-alpha

Mate Flex Framework Home

http://mate.asfusion.com/

新一种MVC框架,事件驱动来开发系统,依附flex的事件,E4X Dom Event。