Mate 是由 AsFusion 在 2008 年 6 月创建的一个基于标签的 Flex 框架。自从 InfoQ 报道了 Flex 社区对其发布的反应后,Mate 得到了 Flex 开发者的注意。当前很多人都想知道相比于已有的其他框架如 Cairngorm 和 PureMVC ,Mate 如何适应于 Flex RIA 开发。
TechPer 的 Java 开发者 Per Olesen 在其博客上发表了一篇博文,谈到了 Mate 的优缺点。
根据 Olesen 所述,Mate 的优势在于:
Mate 是个 Flex 框架,这意味着它不会隐藏或者抽取对 Flex apis 的访问。其通信机制基于通常的 flex 事件,很大程度上要靠 Flex apis 完成。这是它与 Cairngorm 相同的地方,但是与 PureMVC 的区别就很大了。
Mate 使用了依赖注入(DI),这是我所喜欢的一种编程模式,在进行 Java 开发时我就常常应用该模式。通过使用 Mate,mxml 的视图定义变得非常简单和干净,其中只包含视图代码。这是它与 PureMVC 相同的地方,但与 Cairngorm 却又不一样了。
大体来看,Olesen 很喜欢 Mate 并认可其对 Flex 的继承。但是 Mate 的有些东西 Olesen 却并不喜欢,他说:“后台有一些东西太具魔力。Mate 有个叫 EventMap 的东西,用来包装应用。EventMap 都是通过 XML 实现的。XML 编程很快就会令你身处困境。我讨厌它!”
Olesen 还发现 Mate 中有段代码亟需改进。
来自威尼斯 Rapture 公司的 John Blanco 在“太多魔力”问题上与 Olesen 产生了分歧。他说:
Mate 是一个框架;因此我们不可能在短短的 5 分钟内就能掌握好它,这也是不现实的。
还有,如果你不喜欢编写 XML 的话,你就不必非得使用 HTTPServiceInvoker。这是由你的项目决定的。你可以只用 MethodInvoker,而且能够轻松模拟 Cairngorm 的 Command 以及 PureMVC 的 Command 和 Mediator。
但是 Olesen 回应到:
EventMap 是 Mate 的一个非常重要的概念和组成部分。该框架的很多内容都是以 EventMap 为中心的。大家也都这么认为。这是该框架的意图。如果你打算使用 Mate,你就应该了解 EventMap 的概念。它是 Mate 的重要内容应该会有助于你。这可能吗,我表示怀疑。
评论