我目前正在使用并享受使用 Flex MVC 框架 纯MVC. 。我听说过一些关于 Cairngorm 的好消息,它得到了 Adob​​e 的支持,并且具有率先进入市场的势头。还有一个名为 Mate 的新玩家,引起了很大的关注。

有没有人尝试过其中两个或三个框架并形成意见?

谢谢!

有帮助吗?

解决方案

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

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

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

在我看来,其他 Flex 应用程序框架都无法与 Mate 相媲美。然而,这些是竞争者以及为什么我认为它们不太有用:

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

Cairngorm 是一组反模式,导致应用程序与全局变量紧密耦合。Nuff 说(但如果你有兴趣, 这是我的更多想法, , 和 这里也).

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

这些是我尝试过或研究过的。我听说过其他一些,但我认为没有一个被广泛使用。Mate 和 Swiz 均在最近的 360|Flex 会议上亮相,并且有视频可供观看(Mate 人员有关于如何观看它们的说明)

其他提示

查看 机械腿.

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

我已经多次看到此类讨论。他们通常会从您使用哪个 Flex 框架开始。没有多少人问为什么你甚至需要在 Flex 框架之上使用任何框架。

我不赞成在 Flex 代码中使用任何 MVC 框架(Cairngorm、PureMVC)。马特是一个更好的候选人。至少它很容易理解并且不具有侵入性。我更喜欢使用增强组件
点菜。我们已经创建并开源了其中的一堆(请参阅 Clear Toolkit 中的clear.swc,网址为 http://sourceforge.net/projects/cleartoolkit/.

我们即将出版的 O'Reilly 书籍《使用 Flex 进行企业开发》第一章对几个 Flex 框架进行了详细比较: http://my.safaribooksonline.com/9780596801465 .

我们目前正在研究一个 MVCS 实施于 春季动作脚本 框架。它使用控制反转容器的全部功能,因此您可以进行集中的依赖项管理,并且能够轻松地交换内容。它对于如何做事并不是很规范,但为您提供了非常灵活的基础架构。

如果您不熟悉 Spring ActionScript 和 MVCS,我的博客上有一篇介绍性文章: http://www.herrodius.com/blog/158

我正在使用(并推荐)Swiz 框架。它不像 PureMVC 那样复杂,但它可以完成工作。而且,它是一个IoC容器,我喜欢IoC。

我从来没有用过Mate,所以我无法对此发表评论。但我确实建议不要去凯恩戈姆。Cairngorm 据说是开源的,但实际上并没有得到社区的很好支持。它的发布周期也很慢。我一直在等待导航库结束测试版。

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

如果您了解凯恩戈姆并且正在寻找工作,那么您不会走得太远。

Cairngorm 易于使用且有完善的文档:http://www.cairngormdocs.org/

我推荐 凯恩戈姆图浏览器 以及关于的经典文章 凯恩戈姆.

当我学习 Cairngorm 时,我对 Flex 还很陌生,但发现它很有用,而且通过上述内容很容易学习。

MATE 是可行的方法。一个框架,它可以完成框架应该做的事情。去耦合体系结构简单的小脚打印效率

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

然而,如果 Flex 或这些 MVC 框架之一使用 Qt 提供的信号/槽范例,那就太好了。

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

是的,Mate 是最好的 Flex 框架。我曾在一款应用程序中使用过该应用程序,该应用程序在 GUI 和后端数据服务方面都进行了多次修订。我只需要在每次发生任何变化时更改我的事件地图。

Mate 还具有 MockService 实现,这使得测试变得容易,这不是 mate 的优势,但拥有它很高兴。

您应该根据自己的需求设计自己的MVC“框架”。如果您了解一些设计模式,Flex 本身就可以提供很多东西。

设计自己的 MVC 的最大好处是,它可以根据您的需要轻量级或复杂。

我使用框架的经验是,您基本上需要编写比不使用框架时多两倍的代码。框架的好处是,它迫使你以一致的方式工作,但如果你可以通过利用设计模式、最佳实践和常识以一致的方式工作,我建议远离框架。

很难得出哪个框架比其他框架更好的结论。根据项目的性质和复杂性以及团队成员的专业知识和偏好,在特定情况下,一个人可能比其他人更适合

我在这个 URL 中编制了一个 Flex 框架列表,其中包含简短的描述和有关它们的更多信息的指针。http://practicalflex.blogspot.com/2011/08/list-of-adobe-flex-tools-frameworks.html对于任何想要为其项目评估 Flex 框架的人来说,该 URL 可能会有所帮助。

在评估了大多数 Flex 框架之后,我发现 Swiz 框架对于新开发人员来说最简单且易于上手。因此,它确保了应用程序的易于维护性和可扩展性。

我曾研究过 cairngorm 和 mate 框架。我从 cairngorm 框架开始。工作很好,但一开始很难理解。它巧妙地处理事件调度。您可以从类本身调度事件,它将由框架有线命令类处理。有一个存储数据的存储库,因此易于处理数据。这是一个单例类。一旦掌握了框架,工作就变得容易了。另一方面,Mate 是基于标签的框架。它是一个事件驱动框架,因此所有事件都在事件映射文件中处理。它执行事件侦听、属性注入以及此类本身的许多其他操作。您可以通过向类传递框架事件调度程序的实例来调度事件。您不必在此使用像 cairngorm 这样的单例类。您可以直接使用属性注入将类中的属性绑定到视图,因此无需使用任何单例类。在 mate 中,所有类和视图都不受框架代码的影响,因此它是解耦框架。将组件从一处移动到另一处很容易。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top