21.4.认识Cairngorm小型结构

21.4.1.问题
我想在我的应用程序中使用Cairngorm小型结构。
21.4.2.解决方案
从http://labs.adobe.com处下载Cairngorm小型结构,然后把SWC文件安装到你的应用程序库中或者创建到源文件的链接。
21.4.3.描述
Cairngorm小型结构是一个著名的、应用广泛的、构建Flex应用程序及把应用程序和服务器整合起来的模型-视图-控制器结构。它第一次为人所知是在Flex 1.5,并不断的用在开发多视图、一个复杂的模型、以及多服务调用的大型应用上。正是因为它如此的出名,所以对于多项目的开发者或者需要从其他开发者手中接管项目的开发者来说,熟悉这个结构是非常重要的。图21-7的UML图表简单的描述了Cairngorm的结构

图21-7.Cairngorm小型结构

正确使用Cairngorm小型结构能够使你创建非常封闭、相互之间不十分依赖的程序。对开发者来说就是即使经常更换视图也并不需要改变模型,更改模型时只需要对视图做极小的改动,这是因为各部分之间依赖性很小。Cairngorm应用程序的视图绑定到模型上。任何需要调用服务的视图上的用户动作或变化,视图都会派发一个CairngormEvent。因为视图绑定到模型类的属性上,因此同样不需要视图做任何事情。当服务层的数据更新后,模型会更新,绑定到属性上的视图也会更新。

EventBroadcaster通知Cairngorm程序的FrontController。FrontController中有许多命令。这些命令既向服务层或服务器发送数据,又处理返回的结果。FrontContrller使用CairngormEvent的名字作为键值来保存对这些命令的引用。每个CairngormEvent需要一个独立的事件类型,这样Cairngorm小型结构才能正常工作。

命令类知道调用哪些服务器上的方法、如何响应来自服务器的各种数据、以及数据保存在模型的哪个位置。其实,应用程序需要的大部分服务器端的通信工作都由命令类处理。命令类会调用事务代理类,然后事务代理类再调用ServiceLocator类中的方法。这些方法会被调用来接收处理来自服务器端的数据,像HTTPService对象、远程对象或者WebService对象。收到数据后,事务代理会告诉命令类:服务器返回数据了。在把它放到Cairngorm应用程序的模型中之前,Command会先对这些数据进行一些必要的处理。

由于视图绑定到模型上,当模型中的数据更新时,Flex的绑定机制会更新相应的视图。接下来的几节会详细的介绍Cairngorm的几个部分。

加支付宝好友偷能量挖...


评论(0)网络
阅读(125)喜欢(0)flash/flex/fcs/AIR