作者 Jon Rose译者 张龙

​OpenFlux​​向 Flex开发者提供了一个基于MVC(Model-View-Controller)架构的开源组件框架。该库拥有一套组件,目前包括Buttons、 Lists及ScrollBars。OpenFlux的目标在于简化Flex应用中组件的定制,进而无需担心会影响组件的其他部分。

该项目的创始人Ben Stucki这样​​描述该组件模型​​:

OpenFlux的每个组件都由三个核心部分构成,他们协同工作以定义API(模型)、图形(视图)和组件的行为(控制器)。乍一看,我就觉得对于组件的创建来说有些过度设计了,并且它也确实增加了一些复杂性。然而,由于你可以非常快速和容易地将整个定制的图形和/或行为增加到组件中而无需担心重写或者破坏现有的组件,所以这是一个极大的优势。

该项目的贡献者Ryan Campbell讨论了标准的Flex组件和OpenFlux组件的​​区别​​:

OpenFlux组件和现在的Flex组件大体的区别是前者将逻辑分离到MVC架构中了。这使你能在保持其他部分功能不变的情况下,轻松的替换组件的一部分。List组件更进一步,它还分离了布局逻辑,这样你就能轻松地使用新的布局来呈现列表条目了。

在今年初Ben Stucki​​宣布该项目发布​​的帖子中,他详细论述了构建OpenFlux的动机:

OpenFlux真正的目的是在你的项目中进行定制。使用一个无视图组件的系统意味着你可以快速轻松地创建大量新颖有趣的组件而不必担心会破坏组件的其他部分。还记得过去在Accordian、TabNavigator或List组件上使用的小把戏吗?我当然记得,这就是创建它的原因。答案并不是保护所有东西而是创建一个更棒的组件模型!

如果你想进一步学习OpenFlux,​​InsideRIA上有一篇很好的文章​​​谈到了如何上手该框架。theflexshow.com上还发布了今年初采访Ben Stucki的一段​​音频​​。

查看英文原文:​OpenFlux Component Framework for Flex​