Flex之模块化

如果做一个很大的Flex程序,比如程序文件有2,3M,一次性下载的话,就算是我的10M宽带也是需要一段时间。更别提普通的ADSL了。另外如果同时实例化太多的Flex控件,要占用很大的内存,浏览器(Flash Plugin)处理的时候会很慢,同时也会占很多的CPU资源。


难道Flex就不能开发大型应用了?还好Flex提供了Module的支持(我做OpenLaszlo的时候可没有这么幸运,只能自己开发Module支持,不过现在已经彻底放弃OpenLaszlo)。还是很简单的,困难的是如何分割模块。

创建Module。就像创建其他组件一样,只不过标记换成了 mx:Module。Module本身和Application基本一样。如果使用Flexbuilder的话,你的Bin-Debug(通常)里会多一个和Module的文件名的swf。
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical" creationComplete="onCreationComplete()">
<mx:Script>
<![CDATA[
//ActionScript Code Here...
]]>
</mx:Script>
...
<mx:Button id="btn" click="{Alert.show('' + event)}" label="Button"/>
</mx:Module>

<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical" creationComplete="onCreationComplete()">
<mx:Script>
<![CDATA[
//ActionScript Code Here...
]]>
</mx:Script>
...
<mx:Button id="btn" click="{Alert.show('' + event)}" label="Button"/>
</mx:Module>


重点是如何调用Module。有两种方式可以调用Module,一种是使用mx:ModuleLoader,另一种是使用ModuleManager。第一种其实仅仅是封装了第二种方式而已。mx:ModuleLoader 相对比较简单,只需要把它实例化到你需要的地方,指定Module的URL就可以了。ModuleManager相对复杂一些,但是更灵活。关键(Key point)代码如下。完整代码见附件。
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init()">
<mx:Script>
<![CDATA[
...
private function useModuleLoader(event:Event):void{
trace(event.type);
if(ml.url == null){
//Key point
ml.url="UserList.swf"
ml.loadModule();
}
}
...
private var module:IModuleInfo;
private function useModuleManager(event:Event):void{
trace(event.type);
//Key point
module = ModuleManager.getModule("UserList.swf");

module.addEventListener(ModuleEvent.READY, onModuleReadyUseModuleManager);

module.load();
}
...
]]>
</mx:Script>
<mx:VBox id="container" width="100%" height="100%">
<mx:Button id="loadUseModuleLoaderButton" label="Load Use ModuleLoader" />
<mx:Button id="loadUseModuleManagerButton" label="Load Use ModuleManager" />
...
<mx:ModuleLoader id="ml" width="300" />
</mx:VBox>
</mx:Application>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IBM Flex刀箱交换模块是一种用于数据中心网络交换的刀片式交换设备。它是IBM Flex刀箱的重要组部分,用于提供高速、可靠的数据传输和通信功能。 IBM Flex刀箱交换模块采用模块化设计,可以根据用户需求进行灵活搭配和配置。它通常包括交换机模块、电源模块、风扇模块等,这些模块均可以独立更换和升级,方便用户根据实际需要进行调整。 IBM Flex刀箱交换模块具有以下特点和功能: 1. 高带宽:采用多个高速接口,支持高达40GbE的数据传输速率,能够满足大规模数据中心的需求。 2. 高可靠性:采用冗余设计,支持模块级热插拔和冗余备份,一旦出现故障可以快速切换到备用模块,确保网络的可靠性和稳定性。 3. 灵活可扩展:支持多个交换模块的堆叠,实现端口数量的扩展,同时可以根据用户需求进行模块的动态添加和移除。 4. 安全性强:具有完善的数据包过滤和安全认证功能,可以通过访问控制列表、虚拟局域网等方式提供全面的网络安全保护。 5. 管理便捷:提供了友好的图形化用户界面和命令行界面,支持远程管理和监控,方便管理员对刀箱交换模块进行配置、监测和故障排除。 总之,IBM Flex刀箱交换模块是一种高性能、可靠性强、可扩展性好、管理便捷的数据中心网络交换设备,能够满足复杂的数据传输需求,并提供安全可靠的网络通信环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值