<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    云自無心水自閑

    天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
    posts - 288, comments - 524, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    在Flex應用中使用模塊(modules) I

    Posted on 2007-02-06 00:05 云自無心水自閑 閱讀(1072) 評論(2)  編輯  收藏 所屬分類: FlexFlex2

    有許多方法可以把一個應用拆分成基于個獨立下載的部分。甚至于將每個類都分成單獨的文件,由ClassLoader在需要的時候加載。但是如果這樣效率是比較低下的,因為類的引用有著明顯的“引用地域”;如果你引用了一個類,往往會馬上牽涉到需要引用一大堆其他的類,如果把這些類全都打包在一起,效率會高得多。

    由編譯器自動選擇一個非常好的打包方法是比較困難的。很可能需要在應用開發時進行一些設定,并不時地監控類的引用。能夠統計出最優的分拆方法:應用應該分成幾個SWF,哪些類應該放在哪個SWF中。但是這種方法聽起來更象是一種研究范疇,實際操作起來非常困難。

    讓我們來看一些更具有操作性的方法。

    很多應用分解后,包含兩種類型的功能:“啟動后立即填充”和“啟動后稍后填充”。

    有許許多多的應用是這種模式的。比如:游戲;你有一個游戲引擎和一些游戲場景?;蛘逷ortals和Porlets; 一些基礎的共享功能和數據驅動的小應用。或者是一個大型的有著1500個頁面的保險應用,運行特定功能是只會訪問一小部分的頁面?;蛘呤浅涑獯罅績热莸膽?,它可以獨立的更新部分內容而不是強制用戶每次瀏覽時都必須下載全部內容。

    我稱這些相對獨立的可以延遲加載的功能為“模塊”(Modules),稱加載模塊的應用為“Shell”。

    在這里,我們先不看如何做,先來看一些

    shell需要能夠與模塊交互,同樣模塊也需要和Shell交互。如果shell引用了modules的一個類,那么它會把它鏈接進來。同樣,如果模塊類引用了shell類,它也會把它鏈接進來。應用能正常運行只有兩個方法:或者引用是相同而且共享的(這樣就不需要下載兩次),或者兩者是不同的,而且沒有任何關系(盡管兩個類名字相同,但是它們被認為是無關的,而且不能交互)。

    最好的解決辦法是讓模塊和shell通過接口交互。這樣,shell不需要引用模塊,而是引用模塊會實現的一些接口。同樣,模塊不實現shell的類,而是允許調用的API接口。

    這樣在shell變化的時候減少了重新編譯模塊的次數。具體實現的變化頻率往往會比接口本身的變化高得多,而只要接口穩定,就不需要重新編譯所有的東西。

    注意:需要使用extern(或者extern-library-path)選項來創建模塊,這樣可以自動剔除shell的類,因為模塊是被加載到shell的子應用域中的,將shell的類剔除是安全的。這樣模塊可以真正直接引用shell中的類。


    ?




    評論

    # re: 在Flex應用中使用模塊(modules) I  回復  更多評論   

    2007-02-06 09:22 by nshen
    有個例子就好了

    # re: 在Flex應用中使用模塊(modules) I[未登錄]  回復  更多評論   

    2007-02-06 09:59 by 云自無心水自閑
    例子馬上就有.
    主站蜘蛛池模板: 麻豆亚洲AV永久无码精品久久| 中文字幕亚洲图片| 亚洲大香人伊一本线| 免费无码中文字幕A级毛片| 亚洲国产成人高清在线观看 | 最新亚洲人成网站在线观看| 影音先锋在线免费观看| 亚洲hairy多毛pics大全| 日本免费网站观看| 无人视频在线观看免费播放影院| 四只虎免费永久观看| 一级毛片高清免费播放| 亚洲乱码无码永久不卡在线| 久久久高清日本道免费观看| 久久久亚洲欧洲日产国码农村| 日本免费人成视频在线观看| 亚洲人成免费电影| 国产成人免费全部网站| 美女无遮挡拍拍拍免费视频| 久久久久久亚洲精品中文字幕| 88av免费观看| 亚洲人av高清无码| 亚洲中文字幕无码专区| 国产午夜免费高清久久影院| 亚洲一区免费视频| 免费人妻av无码专区| 99视频在线免费观看| 亚洲人成在线精品| 免费a级毛片网站| 久久久久久久99精品免费| 在线亚洲午夜片AV大片| 亚洲国产电影av在线网址| 99ee6热久久免费精品6| 亚洲欧美日韩国产精品一区| 久久精品国产精品亚洲人人| 4399影视免费观看高清直播| 色婷婷六月亚洲综合香蕉| 无码欧精品亚洲日韩一区| 国产成人免费a在线资源| 91制片厂制作传媒免费版樱花| 亚洲av无码片vr一区二区三区 |