ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:121.66KB ,
资源ID:7386677      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7386677.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Cairngorm.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Cairngorm.docx

1、CairngormCairngormCairngorm是Abode推出的Flex RIAs框架,其实是MVC的发扬光大,它由七大部分组成。1. Model(数据模型M):使用singleton(单例)模式共享变量;2. VO( Value Object):储存特定值对象变量。3. VIew(视图V):将Model的数据绑定互组件并广播侦听Cairngorm Event;4. Controller(控制器):侦听Cairngorm事件并将其映射到Cairngorm Command;5. Command(命令):调用Cairngorm Delegate或其它Command ,并更新Model;6.

2、 Delegate(委托):实例化RPC(远程过程调用)并将其结果返回给Command;7. Business(业务):定义RPC。使用Cairngorm的第一步是建立框架结构的骨架,包括了三个对象:Model Locater;Service Locator;Front Controller;Model Locator:承载了组件之间的所有的传递的信息和数据,这是一个Bindable(可绑定的)对象。Service Locator:定义了与数据源(Httpservice,Webservice,Remoteobject)之间通讯的界面。Front Controller:建立播送事件(Dispat

3、ch event)和命令层(command)之间的对应关系(mapping)。看一下相关的代码:BuddyAppModelLocator.as:Xml代码 1. packagecom.ny.flex.cairngorm.model2. 3. importcom.ny.flex.cairngorm.vo.User;4. 5. importmx.collections.ArrayCollection;6. 7. Bindable8. publicclassBuddyAppModelLocator9. 10. publicvarbuddyList:ArrayCollection=newArrayCo

4、llection();11. publicvarloginUser:User=newUser();12. publicvarviewStackSelectedIndex:int=0;13. 14. staticprivatevar_instance:BuddyAppModelLocator=null;15. 16. staticpublicfunctiongetInstance():BuddyAppModelLocator17. 18. if(_instance=null)19. 20. _instance=newBuddyAppModelLocator();21. 22. return_in

5、stance;23. 24. 25. 26. package com.ny.flex.cairngorm.model import com.ny.flex.cairngorm.vo.User; import mx.collections.ArrayCollection; Bindable public class BuddyAppModelLocator public var buddyList:ArrayCollection=new ArrayCollection(); public var loginUser:User=new User(); public var viewStackSel

6、ectedIndex :int = 0; static private var _instance:BuddyAppModelLocator=null; static public function getInstance():BuddyAppModelLocator if(_instance = null) _instance=new BuddyAppModelLocator(); return _instance; 在Model Locator代码中,定义了三个public的变量,buddyList:用来存放由数据库获取的密友列表;loginUser:定义一个User类型对象;viewSt

7、ackSelectedIndex:定义viewStack指向的视窗。几乎所有的服务层返回的信息都需要在Model Locator中有一个相应的对象。BuddyServiceLocator.mxml:Xml代码 1. 2. cairngorm:ServiceLocatorxmlns:mx=”xmlns:cairngorm=”3. 4. 5. 6. 7. cairngorm:ServiceLocator xmlns:mx=” xmlns:cairngorm=” 上述代码定义了程序将要调用的RemoteObject,RemoteObject所调用的Destination需要和remote_confi

8、g.xml文件中的Destination相一致。在此,Destination的值为“flexmvcRO”。BuddyListController.as: Xml代码 1. packagecom.ny.flex.cairngorm.control2. 3. importcom.adobe.cairngorm.control.FrontController;4. importmand.GetBuddyListCommand;5. importmand.LoginCommand;6. importcom.ny.flex.cairngorm.event.GetBuddyListEvent;7. imp

9、ortcom.ny.flex.cairngorm.event.LoginEvent;8. 9. publicclassBuddyListControllerextendsFrontController10. 11. publicfunctionBuddyListController()12. 13. super();14. addCommand(LoginEvent.LOGIN_EVENT,LoginCommand);15. addCommand(GetBuddyListEvent.GET_BUDDY_LIST_EVENT,16. GetBuddyListCommand);17. 18. 19

10、. 20. 21. package com.ny.flex.cairngorm.control import com.adobe.cairngorm.control.FrontController; import mand.GetBuddyListCommand; import mand.LoginCommand; import com.ny.flex.cairngorm.event.GetBuddyListEvent; import com.ny.flex.cairngorm.event.LoginEvent; public class BuddyListController extends

11、 FrontController public function BuddyListController() super(); addCommand(LoginEvent.LOGIN_EVENT,LoginCommand); addCommand(GetBuddyListEvent.GET_BUDDY_LIST_EVENT,GetBuddyListCommand); 很显然,上述的Controller代码是事件和命令的对应处理的地方。如何能将这些乱七八糟的东西结合在一起?其Magic的地方是在主页(Main application)上,代码如下:BuddList_Main_Cairngorm.

12、mxml:Xml代码 1. 2. 3. 4. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 现在用户可以建立视图组件,并从这些组件中播送事件:LoginView.mxml:Xml代码 1. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 每一个动作都需要建立一个相应的事件:LoginEvent.as:Xml代码 1. packagecom.ny.flex.cairngorm.event2. 3. importcom.adobe.cairngorm.c

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1