精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Flex模塊化應用程序開發

開發 后端
本文向大家簡單介紹一下Flex模塊化應用程序開發,Flex模塊(Module)是創建大型Flex應用程序的一個解決方案,它允許你將你的用戶接口分割成許多分散的有各自用途的小塊。

本文和大家重點討論一下Flex模塊化應用程序開發,模塊(Module)是創建大型Flex應用程序的一個解決方案,相信本文的介紹一定會讓你有所收獲。

Flex模塊化應用程序開發

如果你沒有看過RogerGonzalez的Blog中關于模塊(Module)的文章,那么你應該去那里了解一下Flex2這個特性背后的細節和想法。這里我不想過多地探討為什么要這樣,而是想要給大家展示一個使用了模塊(Module)的簡單的Flex程序,你可以從中獲得啟示。

模塊(Modules)

模塊(Module)是創建大型Flex應用程序的一個解決方案,它允許你將你的用戶接口分割成許多分散的有各自用途的小塊。例如(下面出自Flex2的文檔),一個保險公司可能有數百個表單——針對于各個領域的,針對各種請求類型,以及針對各種應用等等。創建一個包含所有這些表單的Flex應用程序將會產生一個巨大SWF文件,還會有不少問題:

?應用程序越大開發過程越復雜;
?應用程序越大測試過程越復雜;
?應用程序越大部署過程越復雜;
?SWF文件越大加載時間越長

我的示例程序基于Flex2文檔中的一個程序,但是我將它做了一些更改來說明幾個常見的問題。這個例子展示了一個主程序和其它三個共享公有數據的模塊(Module)。

其中一個設計要素是一個接口的使用,這個接口實質上是接口實現者和使用者之間的一個契約。這個例子將會說明我所說的意思。模塊(Module)的接口部分雖然不是必須的但是卻可以大大簡化以后的開發和維護。比如,如果開發人員有一個小組負責報告部分,另一個小組負責圖表部分,如果它們一開始用了接口,那么只要有需要,接口的實現就可以做足夠多的變形而不會影響到工程結果。接口在模塊(Module)中還扮演另外一個角色,我在下文中將會揭示這點。

模塊(Module)是以<mx:Module>代替<mx:Application>作為根標簽的MXML文件(或ActionScript文件)。你可以將帶有<mx:Module>標簽的作為一個程序來看,但是它不能運行。

這個示例有一個主程序文件以及帶有一個接口的兩個模塊。打開主程序文件你會看到:

程序代碼 

  1. <mx:Panelxmx:Panelx="10"y="41"width="169"height="500"layout="absolute"title="Modules"> 
  2. <mx:Textxmx:Textx="10"y="24"text="Checkamoduletoloadit;unchecktounloadit"width="129"/> 
  3. <mx:RadioButtonxmx:RadioButtonx="10"y="97"label="None"selected="true"  
  4. click="removeModule()"/> 
  5. <mx:RadioButtonxmx:RadioButtonx="10"y="123"label="Chart" 
  6. click="removeModule();loadModule('ChartModule.swf')"/> 
  7. <mx:RadioButtonxmx:RadioButtonx="10"y="175"label="Table" 
  8. click="removeModule();loadModule('GridModule.swf')"/> 
  9. </mx:Panel> 
  10.  
  11. <mx:Panelxmx:Panelx="187"y="41"width="500"height="500"layout="absolute"title="Module:{moduleName}"> 
  12. <mx:ModuleLoaderidmx:ModuleLoaderid="currentModule"ready="readyModule(event)"  
  13. width="100%"height="100%"/> 
  14. </mx:Panel> 
  15.  

 ***個Panel包含了控制示例中模塊(Module)加載和卸載的RadioButtons。第二個Panel是使用<mx:ModuleLoader>標簽加載模塊(Module)的地方。注意那個id為currentModule的ModuleLoader,它有一個關于ready事件的事件處理器。當Flex模塊化中模塊SWF文件加載了足夠多可以開始使用的時候,ModuleLoader就會分派ready事件(或者說ModuleEvent.READY)。

這里有一個readyModule函數,它在<mx:Script>塊中:


程序代碼 

  1. privatefunctionreadyModule(event:ModuleEvent):void  
  2. {  
  3. varml:ModuleLoader=event.targetasModuleLoader;  
  4.  
  5. varichild:IExpenseReport=ml.childasIExpenseReport;  
  6. if(ichild!=null){  
  7. ichild.expenseReport=expenses;  
  8. }  
  9. }  
  10.  

 注意ModuleLoader的child屬性是如何轉換為IExpenseReport類的。IExpenseReport是一個所有模塊(Module)都實現了的接口。只要每個模塊都實現了這個接口,它就可以很容易適應于應用程序。換句話說,想象一下當你需要創建另一個表單或者報告的時候它的用途。并不需要更改主程序為新模塊添加IF語句,你只要在新模塊中實現IExpenseReport接口它就可以在程序中***地運行。

IExpenseReport接口:

程序代碼 

  1. publicinterfaceIExpenseReport  
  2. {  
  3. functionsetexpenseReport(ac:ArrayCollection):void;  
  4. }  
  5.  

 每個模塊(Module)都實現這個接口,定義各自的名為expenseReport的set函數。下面是ChartModule的根標簽和接口IExpenseReport的實現:


程序代碼 

  1. <mx:Modulexmlns:mxmx:Modulexmlns:mx="http://www.adobe.com/2006/mxml"implements="IExpenseReport"  
  2. layout="vertical" 
  3. percentWidth="100"percentHeight="100"> 
  4. <mx:Script><![CDATA[  
  5. importmx.collections.ArrayCollection;  
  6. [Bindable]publicvarexpenses:ArrayCollection;  
  7.  
  8. publicfunctionsetexpenseReport(ac:ArrayCollection):void  
  9. {  
  10. expenses=ac;  
  11. }  
  12. ]]></mx:Script> 
  13. ...  
  14. </mx:Module> 
  15.  

 讓我們回到主程序,RadioButton的click事件會卸載任何當前已加載的模塊然后加載一個新的模塊。下面是ChartModule的RadioButton標簽:

程序代碼 

  1. <mx:RadioButtonxmx:RadioButtonx="10"y="123"label="Chart"click="readyModule('ChartModule.swf')"/> 
  2.  

 這個click事件會調用上面列出的readyModule事件。

編譯并運行程序

如果你使用了FlexBuilder2,請確定更改了項目的Properties將模塊(Module)作為"Applications"包含進來。這樣FlexBuilder2回將它們編譯進SWF文件并且放進bin文件夾中。

FlexBuilder注意:要創建一個使用模塊(Module)的工程,請使用工程的Properties將模塊文件作為"Applications"。這會使得他們被編譯進SWF文件。

一旦SWF文件被創建你就可以運行主程序并點擊RadioButtons在模塊(Module)之間切換。

FlexBuilder注意:FlexBuilder并不會保存任何關于模塊(Module)和主程序的從屬信息。只要你對一個模塊(Module)作了更改,你就可能需要重新編譯主程序或其它從屬的模塊(Module)。


將SWF文件***化

如果你查看一下主程序的SWF文件和Flex模塊化中模塊的SWF文件的話,你會發現它們的大小差不多。這就說明,模塊的SWF和主程序SWF中有很多同樣的組件定義。

FlashPlayer并不會保存元件(symbol)的副本。例如,如果主程序有一個Button組件而一個模塊(Module)也有一個Button組件,FlashPlayer就不會從模塊中加載Button了,因為它已經在主程序中有定義了。

使用-link-report=report.xml編譯主程序,這樣會創建一個鏈接到主程序的包含所有元件信息的文件。然后在編譯模塊(Module)的時候會使用那個report.xml文件。

程序代碼 

  1. mxmlc-load-externs=report.xmlChartModule.mxml 

當ChartModule被編譯的時候,所有在report.xml文件中列出的元件將會在它的SWF中省略。當我不使用report.xml文件編譯ChartModule.swf的時候,它的大小是202K。而當我使用report.xml文件的時候,SWF的大小只有68K。這大大減少了模塊(Module)的加載時間。

在文章的開始將到模塊(Module)的時候,我提過接口有另一個作用。假設你沒有使用接口而是在主程序中引用模塊的類。當你運行link-report的時候,你的模塊類將會出現在report.xml中。當你使用使用link-report編譯模塊(Module)的時候你的模塊并不會包含在它自己的SWF中!起初這并不會成為一個問題,盡管主程序由于包含了模塊的定義而變得很大。然而,當你更改你的模塊的時候發生了什么才是重要的。如果你沒有重新編譯主程序,你主程序的SWF文件將會包含模塊(Module)舊的定義——而不是你已經更改過的。

程序代碼 

  1. mxmlc-link-report=report.xmlMain.mxml  
  2. mxmlc-load-externs=report.xmlChartModule.mxml  
  3. //etc.  
  4.  

 如果你決定使用這個技術來減小模塊(Module)的大小,那么就使用接口來確保終端用戶使用的總是模塊(Module)的***版本。

FlexBuilder注意:FlexBuilder在一個工程里沒有辦法做到這些。如果你確定你將要創建一個使用模塊(Module)的工程,可以考慮一下將公共的類和接口(包括event類)放到一個SWC(FlexLibraryProject)中然后將模塊(Module)分離到它們各自的工程里。

或者,你可以將所有東西創建為一個單一的Flex工程,然后將***化作為一個產品化前或測試前的部署步驟在FlexBuilder之外進行。


Flex模塊化總結

?將程序分割成多塊并不是每個人都會使用模塊(Module)。使用這種方法主程序會比平常小,而且多數用戶只使用整個程序的一部分。
?使用接口來使主程序或模塊(Module)來與加載的模塊通信。這使維護變得容易。
?使用-link-report命令參數編譯主程序來產生一個使用元件列表。
?在主程序中使用-load-externs和report.xml編譯模塊(Module),這樣可以使它們變得更小。
 

【編輯推薦】

  1. Flex模塊化的目的和方法
  2. Flex安全沙箱問題解決方法
  3. 技術前沿 看Flex客戶端緩存技術如何使用
  4. 解析Flex全屏模式設置方法
  5. Flex內存泄露解決方法和內存釋放優化原則

 

 

責任編輯:佚名 來源: javaeye.com
相關推薦

2011-07-05 16:59:15

Qt 動態 鏈接庫

2011-07-05 17:07:46

Qt 插件 模塊

2011-06-16 13:23:35

Qt 模塊化 插件式

2010-02-06 14:19:26

ibmdwGoogleMap

2010-08-12 15:52:34

Flex應用程序

2010-08-13 15:48:38

Flex模塊化

2010-08-02 08:54:53

Flex模塊化

2010-08-06 11:04:06

Flex模塊化

2010-08-12 15:44:25

Flex應用程序

2011-12-03 20:25:53

2010-08-02 09:21:48

Flex模塊化

2010-08-04 09:43:28

Flex應用程序

2010-08-04 14:15:43

Flex應用程序

2010-08-11 09:36:12

Flex組件

2010-08-10 15:26:38

Flex應用程序

2022-09-21 11:51:26

模塊化應用

2010-08-12 16:20:57

Flex應用程序

2023-12-18 14:56:00

模塊化單體系統數據庫

2019-08-28 16:18:39

JavaScriptJS前端

2009-06-10 11:47:32

Android應用程序模塊
點贊
收藏

51CTO技術棧公眾號

蜜桃成人365av| 在线观看视频二区| 国产一级成人av| 岛国av午夜精品| 日韩av图片| 国产精品伦一区二区三区| 午夜精品久久| 精品在线欧美视频| 五月天av在线播放| 91老司机福利在线| 中文成人综合网| 成人做爰66片免费看网站| 久久青青草视频| 欧美综合一区| 亚洲成人久久一区| 天天干天天爽天天射| www在线看| 国产精品超碰97尤物18| 久久99久久99精品蜜柚传媒| 一级特黄aaa| 欧美专区在线| 欧美激情第1页| 99久久99久久精品免费| 成功精品影院| 欧美丰满嫩嫩电影| 久久无码高潮喷水| av香蕉成人| 中文子幕无线码一区tr| 精品国产综合久久| 亚洲精品911| 久色婷婷小香蕉久久| 国产成人av在线| 久久久国产高清| 欧美日韩国产高清| 俺也去精品视频在线观看| 国产成人无码精品久久二区三| 在线视频亚洲欧美中文| 91精品国产综合久久久久久漫画| 激情婷婷综合网| 欧美少妇精品| 婷婷综合在线观看| 日韩 欧美 视频| 2024最新电影在线免费观看| 国产精品国产馆在线真实露脸| 日韩一区二区电影在线观看| 欧洲毛片在线| 久久综合久久综合久久| 精品一区在线播放| 少妇av一区二区| 成人性生交大片免费看中文 | 91色在线porny| 国产精品久久久久免费| 亚洲av无码乱码国产精品| 国产一区二区三区黄视频 | 成人免费一区二区三区视频| 亚洲国产成人不卡| 国产精品一区二区婷婷| 久久久久88色偷偷免费| 欧美日韩国产一级| 国产精品高潮呻吟久久| 7777精品伊久久久大香线蕉语言| 国产精品亚洲欧美在线播放| 精品一二线国产| 91社区国产高清| 国产高清在线免费| 国产成人鲁色资源国产91色综| 91丝袜脚交足在线播放| 亚洲卡一卡二卡三| 韩国成人在线| 狠狠躁天天躁日日躁欧美| 欧美 国产 综合| 婷婷电影在线观看| 欧美中文字幕亚洲一区二区va在线 | 成a人v在线播放| 蜜桃av一区二区在线观看| 午夜影院在线观看欧美| youjizz.com亚洲| av网站在线免费看推荐| 亚洲图片一区二区| 青青视频在线播放| 国产欧美自拍| 日韩精品一区二区三区中文不卡 | 九九亚洲视频| 色狠狠av一区二区三区香蕉蜜桃| 成人自拍小视频| 亚洲视频综合| 日韩av黄色在线观看| 91欧美日韩麻豆精品| 国产精品乡下勾搭老头1| 精品国产一区二区三区麻豆小说| 日本va中文字幕| 亚洲小说区图片| 欧美性xxxx极品高清hd直播| 日韩一级片播放| 麻豆一二三区精品蜜桃| 亚洲精品网站在线播放gif| 欧美乱大交做爰xxxⅹ小说| 国内精品久久久久久久影视麻豆 | 欧美午夜宅男影院在线观看| 在线免费观看av的网站| 91欧美日韩在线| 国产精品进线69影院| 国产91免费观看| 国产精品毛片一区视频播| 成人av片在线观看| 一区二区精品在线| 男人av在线播放| 91精品国产综合久久精品| 美国黄色a级片| 午夜激情一区| 国产精品亚洲片夜色在线| 免费看av毛片| 综合色天天鬼久久鬼色| www.国产区| 精品伊人久久久| 久久久国产一区二区三区| 欧美一区二区三区不卡视频| 豆国产96在线|亚洲| 亚洲蜜桃在线| 欧美亚洲韩国| 精品国产自在久精品国产| 欧美极品jizzhd欧美18| 久久久www| 狠狠色综合网站久久久久久久| 欧美成人三区| 欧美午夜精品久久久久久孕妇| youjizz.com日本| 欧美在线国产| 成人国产精品日本在线| 91精品专区| 91官网在线观看| www.久久av| 成人台湾亚洲精品一区二区| 中文在线免费一区三区高中清不卡| 一区二区三区av| 色成人免费网站| 亚洲精品日韩在线| 欧美三级一区二区三区| 成人在线一区二区三区| www成人免费| 视频在线观看免费影院欧美meiju| 色婷婷久久av| 国产精品欧美综合亚洲| 中文字幕一区免费在线观看| 91精品无人成人www| 日本一二区不卡| 国产精品视频内| 91高清在线| 欧美最猛性xxxxx直播| 亚洲精品成人无码| 日韩av中文字幕一区二区三区| 欧美另类高清视频在线| 精品3atv在线视频| 国产一区二区黄| 中文字幕在线网站| 最新高清无码专区| 91国内在线播放| 综合色一区二区| 国产精成人品localhost| av资源在线看片| 日韩av中文字幕在线免费观看 | 欧美午夜片在线看| 99re6热在线精品视频| 开心九九激情九九欧美日韩精美视频电影 | 又黄又色的网站| 亚洲日本国产| 欧美专区一二三| 免费污视频在线一区| 日韩中文在线观看| 亚洲成人黄色片| 福利一区视频在线观看| 娇妻被老王脔到高潮失禁视频| 麻豆精品在线播放| 中文字幕在线中文| 天天做夜夜做人人爱精品 | 亚洲自偷自拍熟女另类| 激情婷婷综合| 成人午夜在线影院| av资源在线| 深夜成人在线观看| 99久久国产免费| 亚洲毛片av在线| 男男做爰猛烈叫床爽爽小说 | 欧美福利在线| 久久久久高清| 日本久久一区| 午夜精品久久久久久久99热浪潮| 国产系列电影在线播放网址| 91精品久久久久久久99蜜桃| 91美女免费看| 亚洲人成7777| 91精品国产自产| 精品一区二区国语对白| 狠狠97人人婷婷五月| 99精品视频精品精品视频| 国产伦精品一区| 欧洲美女精品免费观看视频 | 一区二区三区视频观看| 国产99视频在线| 色狠狠av一区二区三区| 麻豆影视在线播放| 国产欧美精品一区aⅴ影院| 被黑人猛躁10次高潮视频| 久久国产福利| 又大又硬又爽免费视频| 日韩精品永久网址| 精品综合在线| 日韩在线网址| 国产免费久久av| 欧美一级鲁丝片| 欧美男插女视频| 触手亚洲一区二区三区| 亚洲第一av在线| 91中文字幕在线播放| 日韩欧美999| 国产精品日日夜夜| 亚洲天堂av老司机| 国产一区二区三区四区五区六区| 国产二区国产一区在线观看| 午夜两性免费视频| 欧美综合二区| 欧美不卡在线播放| 欧美另类综合| 蜜臀在线免费观看| 成人精品中文字幕| 免费亚洲精品视频| 伦理一区二区| 国产精品乱码一区二区三区| av一级久久| 国产在线日韩在线| 91tv亚洲精品香蕉国产一区| 5252色成人免费视频| 欧美日韩经典丝袜| 久久影院中文字幕| 五月婷婷在线观看| 日韩在线视频国产| yjizz视频网站在线播放| 亚洲一区第一页| 国产在线91| 亚洲色在线视频| 黄色片免费在线| 亚洲欧洲av一区二区| 日本一本草久在线中文| 日韩高清中文字幕| 同心难改在线观看| 亚洲精品福利免费在线观看| 色呦呦中文字幕| 精品国产乱码久久久久久牛牛| 国产激情视频在线播放| 日韩三级在线免费观看| 亚洲av无码一区二区乱子伦 | 国产美女性感在线观看懂色av| 精品亚洲va在线va天堂资源站| 无码国产精品一区二区色情男同| 亚洲精品电影久久久| 日韩精品视频在线观看一区二区三区| 亚洲国产精品免费| 日本在线一二三| 在线日韩第一页| 麻豆传媒视频在线| 欧美精品在线免费| xxx.xxx欧美| 日韩女优人人人人射在线视频| 国产极品久久久久久久久波多结野| 国产精品视频在线播放| 日韩精品一区二区三区中文字幕| wwwxx欧美| 亚洲欧洲av| 一区二区三区视频| 午夜日韩激情| 亚洲色欲综合一区二区三区| 日韩不卡一区二区| 91日韩精品视频| k8久久久一区二区三区| 亚欧洲乱码视频| 中文字幕一区二区三| 久久免费少妇高潮99精品| 婷婷一区二区三区| 中文字幕免费高清在线观看| 日韩一区二区中文字幕| 日本一级在线观看| 久久中文字幕在线视频| 国产精品一二三产区| 国产精品日韩欧美综合| 日韩中文在线| 日韩理论片在线观看| 综合天堂av久久久久久久| 久久久999视频| 美国十次了思思久久精品导航| 国产人妖在线观看| 国产欧美久久久精品影院| 麻豆一区二区三区精品视频| 91国偷自产一区二区三区观看| 精品二区在线观看| 亚洲欧美精品在线| 亚洲欧美成人影院| 国产精品扒开腿爽爽爽视频| 91精品久久久久久综合五月天| 日韩hmxxxx| 亚洲精选91| 激情成人在线观看| 久久久www免费人成精品| 久久在线视频精品| 欧美日韩中文字幕一区| 色网站免费观看| 欧美床上激情在线观看| 澳门av一区二区三区| 国产精品v欧美精品v日韩精品| 精品国产美女| 亚洲熟妇av一区二区三区漫画| 国产一区二区在线看| 阿v天堂2014| 黄网站色欧美视频| 国产欧美一区二区三区视频在线观看| 精品亚洲一区二区三区在线播放 | 国产日韩精品一区观看| 我不卡神马影院| 97公开免费视频| 99久久精品情趣| 久久久久久福利| 91精品一区二区三区在线观看| 国产露出视频在线观看| 日本精品性网站在线观看| 国产成人一二| 成人短视频在线观看免费| 黑人巨大精品欧美黑白配亚洲| 黄色片网站免费| 色哟哟一区二区| 日韩一级片免费观看| 欧美黑人巨大精品一区二区| 国产精品毛片无码| 日本10禁啪啪无遮挡免费一区二区 | 欧美成年人在线观看| 欧美xxxx网站| 亚洲一区在线免费| 老司机精品视频在线| 欧美精品日韩在线| 在线国产电影不卡| 成人免费在线电影| 国产精品激情自拍| blacked蜜桃精品一区| 日本美女高潮视频| 国产欧美日韩不卡| 一区二区视频播放| 最新日韩中文字幕| 四虎精品永久免费| 在线观看亚洲视频啊啊啊啊| 精品一区二区av| 中文字幕人妻一区二| 欧美精品高清视频| 麻豆视频在线播放| 亚洲xxx视频| 欧美先锋影音| 日本一级片在线播放| 欧美天堂在线观看| 粉嫩av一区| 91精品中文在线| 国产一区二区三区四区三区四| 人妻激情偷乱频一区二区三区| 精品国产精品自拍| 国产一级片在线| 成人福利视频在线观看| 欧美日韩免费观看一区=区三区| 亚洲成人精品在线播放| 午夜精品久久久久久久99水蜜桃| 人人妻人人玩人人澡人人爽| 欧美在线观看网址综合| 波多野结衣在线观看一区二区| 91国内在线播放| 亚洲国产日产av| 男人的天堂在线视频| 国产精品偷伦视频免费观看国产 | 国产精品夫妻自拍| 国产精品熟女久久久久久| 欧美极品少妇xxxxⅹ裸体艺术| 秋霞蜜臀av久久电影网免费| 熟女少妇精品一区二区| 亚洲欧洲综合另类| 午夜视频在线播放| 国产精品美乳一区二区免费 | 婷婷激情久久| 国产情侣av自拍| 亚洲免费在线视频| 日本福利片高清在线观看| 国产在线久久久| 亚洲欧美久久久| 我要看一级黄色录像| 亚洲国内精品在线| 欧美日韩亚洲国产| 轻点好疼好大好爽视频| 国产欧美一区二区精品性色| www.看毛片| 国产精品白嫩美女在线观看| 欧美精品麻豆| 国产18无套直看片| 亚洲精品成人免费| 麻豆精品在线| www.亚洲高清| 欧美午夜宅男影院在线观看| 亚洲羞羞网站|