网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.反射

Flex反射机制的研究;前言: 在很多时候反射为程序的动态性提供了一种可能,从而成了在程序开发设计中必不可少的一种技术。了解 Java 的人都知道,Java 具有反射功能,可以根据类名生成类的实例,获取类的相关方法名称、调用方法等。大名鼎鼎的 Spring 框架,其依赖注入的基础也是建立在反射的基础之上。 同样 Flex 中也提供了类似的反射功能,但由于语言的不同,Flex 代码一般情况下是被编译后形成 swf 文件被加载到浏览器中运行。而且 Flex 中有诸如 Module,RSL(Runtime Shared Library) 等 Java 所没有的特殊技术,所以在 Flex 开发中反射的情况比 Java 更加复杂。 ;一:基本的类的反射 注意:Flex在编译成swf的时候,默认情况下不会将所有import的类都编译到swf当中去,只有真正使用到的类才会被编译进去。 目的:是为了减小swf的大小;二:RSL与反射 注意:只要被反射的类被编译到 swf 中,并且被浏览器加载到客户端 FlashPlayer 中,我们就可以任意的进行反射。但是事实上到底真的如此么?;二:Module反射(1) 和 RSL 类似,我们在进行 Flex 开发的时候经常会将应用程序分成多个 Module 来减少应用程序的大小。那么我们刚才得到的结论在存在 Module 的情况下还能成立么?;二:Module反射(2) ModuleManager方式 private function loadModule():void { assetModule = ModuleManager.getModule(com/module/SampleModule.swf); // 将下面这行代码换成 assetModule.load(); 看看反射时候还会成功? assetModule.load(ApplicationDomain.currentDomain); } ;二:Module反射(3) ModuleLoader方式 private function loadModule():void { // 第二种方式 : 用 ModuleLoader 试试看能否反射成功? //moduleLoader.applicationDomain = ApplicationDomain.currentDomain; //moduleLoader.loadModule(com/module/SampleModule.swf); // 第三种方式 : 设置 applicationDomain 和 load 的顺序颠倒一下看看反射是否还能成功? //moduleLoader.loadModule(com/module/SampleModule.swf); //moduleLoader.applicationDomain = ApplicationDomain.currentDomain; } ;三:反射的扩展 (1)、SpringActionScript (2)、元数据标签(-keep-as3-metadata+=Inject) bean class name=“model” ref name=“com.sk.PersonModelA”/ /class /bean

文档评论(0)

maxmin + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档