Flex4 - 编码架构,视图/模型分离

时间:2010-11-19 10:29:59

标签: flex flex4

在我正在开发的项目中,我们刚刚开始使用Flex 4.我们不使用任何特定的框架,管理层需要完整的视图/分离架构。基本原则是每次将ActionScript类作为模型关联到.mxml视图。

我很难理解如何将这两者联系起来:谁在我的视图中引用了谁以及在多大程度上消除了脚本部分。

我非常感谢对此有任何见解。

谢谢

2 个答案:

答案 0 :(得分:1)

通常,模型应该几乎不包含任何逻辑。视图包含显示模型提供的数据的逻辑。因为这样的视图访问模型,而不是相反。这也可以为同一组数据定义多个不同的视图。

在Flex中,数据绑定和内容提供程序都是将数据集成到MXML结构中的好方法。特别是数据绑定允许您在不考虑内容的情况下使用内容;特别是没有自己定义所有引用(所以你不需要在代码中编写它们)。

要从视图中消除其余逻辑,通常在MVC架构中使用控制器。控制器是视图和模型之间的一些“中间人”,应该处理数据。因此,应用程序使用的所有逻辑都应该存在。通过这种方式,您可以严格分离模型(仅包含纯数据),视图(仅显示数据)和控制器(将它们全部组合在一起并在其间添加应用程序逻辑)。有关该主题的更多信息,请参阅Wikipedia article

最后需要注意的是,有一些框架可以让MVC更易于管理。最着名的ActionScript可能是RobotLegs

答案 1 :(得分:1)

您还可以使用“Presentation Model”模式,该模式与Silverlight世界中的MVVM非常相似。不同之处在于,在Silverlight需要更多管道的情况下,它非常容易。

架构如下:

  • 视图只是一个视图。所有声明......非常少的命令性代码
  • 演示模型(PM)包含UI行为和模型的粘合
  • 模型包含数据,服务和客户端业务规则

视图引用PM并使用数据绑定到PM中的属性。 PM包装模型并添加UI级验证,UI级行为和格式数据。

像PM,MVC和MVP这样的“分离的演示模式”对于以下“能力”非常重要:

  • 单元可测试性
  • 可设计
  • 可维护性
  • 可移植性(浏览器到设备的空气......等)