Apache flex Flex MVC框架

Apache flex Flex MVC框架,apache-flex,model-view-controller,frameworks,Apache Flex,Model View Controller,Frameworks,我目前正在使用和享受使用FlexMVC框架。我听到了一些关于Cairngorm的好消息,Cairngorm得到了Adobe的支持,并率先进入市场。还有一个新的玩家叫Mate,它有很多的口碑 有没有人尝试过其中的两个或三个框架并形成了自己的观点 谢谢 是我的选择。第一个也是最重要的原因是它完全不引人注目。我的应用程序代码对框架没有依赖性,它是高度解耦、可重用和可测试的 Mate最优秀的特性之一是声明性配置,本质上是使用事件映射中的标记连接应用程序——基本上是应用程序生成的事件列表,以及发生事件时要

我目前正在使用和享受使用FlexMVC框架。我听到了一些关于Cairngorm的好消息,Cairngorm得到了Adobe的支持,并率先进入市场。还有一个新的玩家叫Mate,它有很多的口碑

有没有人尝试过其中的两个或三个框架并形成了自己的观点

谢谢

是我的选择。第一个也是最重要的原因是它完全不引人注目。我的应用程序代码对框架没有依赖性,它是高度解耦、可重用和可测试的

Mate最优秀的特性之一是声明性配置,本质上是使用事件映射中的标记连接应用程序——基本上是应用程序生成的事件列表,以及发生事件时要采取的操作。事件映射很好地概括了应用程序的功能。Mate使用Flex自己的事件机制,它不像大多数其他框架那样发明自己的事件机制。您可以从视图层次结构中的任何位置调度事件,并使其自动进入框架,而不必像Cairngorms CairngormEventDispatcher或PureMVC的通知系统那样有一条直线

Mate还使用了一种依赖注入(利用绑定)形式,使您可以将模型连接到视图,而无需任何一方知道另一方。这可能是该框架最强大的功能

在我看来,没有任何其他Flex应用程序框架能与Mate相提并论。然而,这些都是竞争者,为什么我认为它们不那么有用:

PureMVC主动否认Flex的许多好处(例如绑定和事件冒泡),以使框架具有可移植性——在我看来,这是一个双重目标。它也是过度设计的,而且具有侵入性。应用程序的每个部分都依赖于框架。然而,PureMVC并不可怕,只是不太适合Flex。另一种选择是,努力使PureMVC更适合Flex(不幸的是,目前还没有文档,只有源代码)

Cairngorm是一组反模式,它们导致应用程序与全局变量紧密耦合。努夫说(但如果你感兴趣,还有)

是一个受Spring Java框架和Cairngorm(试图弥补后者最糟糕的部分)启发的框架。它提供了一个依赖项注入容器,并使用元数据来实现依赖项的自动关联。这很有趣,但也有点奇怪,它使用依赖项注入避免Cairngorm的全局变量,然后使用全局变量进行中心事件调度


这些是我试过或研究过的。还有一些我听说过,但我认为没有一个被广泛使用。Mate和Swiz都出席了最近的360 | Flex会议,还有视频可用()

请记住Cairngorm是adobe赞助的框架,现在托管在opensource.adobe.com上。还要注意的是,它是目前开发者中产量最多的


如果您了解Cairngorm并正在寻找工作,您不会犯太大的错误。

Cairngorm易于使用且有很好的文档记录:

我向您推荐关于的和经典的文章


当我学习Cairngorm时,我还不熟悉Flex,但我发现它很有用,而且很容易学习。

我们目前正在该框架中开发一个实现。它使用了控制容器反转的全部功能,因此您具有集中的依赖关系管理,并且能够轻松地交换内容。它对您的工作方式不是很有规定性,但为您提供了一个非常灵活的基础架构


如果您是SpringActionScript和MVCS的新手,我在我的博客上有一篇介绍性文章:

我已经多次看到此类讨论。它们通常从您使用的Flex框架开始。没有多少人会问这样一个问题:为什么需要在Flex框架之上使用任何框架

我不赞成在Flex代码中使用任何MVC框架(Cairngorm,PureMVC)。Mate是一个更好的候选人。至少它很容易理解,而且是非侵入性的。我更喜欢按顺序使用增强组件。我们已经创建并公开了其中的一组(请参阅clear Toolkit中的clear.swc)


我们即将出版的O'Reilly书籍“使用Flex进行企业开发”的第一章详细比较了几种Flex框架:.

MATE是一个好办法。一个框架完成了框架应该做的事情。 去耦合结构 简单的 小脚印
效率

我对这些MVC框架(Mate、Cairgnorm等)有点怀疑。它们实现事件映射和事件控制器的方式让我想起了太多wxWidgets和其他类似的GUI工具包


但是,如果Flex或其中一个MVC框架使用Qt提供的信号/插槽范例,那就太好了。

我建议使用MATE来开发大型和复杂的项目,就像其他框架一样,MATE解决了Flex中常见的架构问题,如事件处理、数据绑定和异步处理,但是最重要的目标是它只基于标签,因此在我们的Flex应用程序中使用它非常容易。

请查看


"它提供了应用程序所需的粘合剂,以便以解耦的方式轻松运行。通过使用自动化的基于元数据的依赖项注入,Robotlegs可以删除应用程序中的样板代码。通过促进松耦合,避免在框架中使用单例和静态,Robotlegs可以帮助您编写高度独立的代码可建立。”

是的,Mate是flex的最佳框架。我曾在一个应用程序中使用过,该应用程序在GUI和后端数据服务方面都进行了多次修订。每次有任何更改时,我只需更改我的事件映射

Mate也有MockService实现