作者 Jon Rose 译者 张龙 发布于 2008年6月26日 下午8时44分
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的一段音频 。