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

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

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

    Chasing an mobile web vision

    闖蕩在移動(dòng)互聯(lián)網(wǎng)的世界中

    osgi介紹(二)一個(gè)假想的實(shí)例

    如何分析OSGi service platform的機(jī)制?給出幾個(gè)硬生生的例子,然后分析一下
    代碼?那還不如你自己看書看規(guī)范好了。因此,我覺得還是結(jié)合一個(gè)應(yīng)用實(shí)例來分析會(huì)更
    容易理解,當(dāng)然,是一個(gè)假想的應(yīng)用實(shí)例。用怎樣一個(gè)實(shí)例呢?嗯......

    幾個(gè)月前,一個(gè)中學(xué)同學(xué)打電話給我說他們要在PDA上開發(fā)一個(gè)簡單的應(yīng)用程序來臨時(shí)紀(jì)
    錄工作的結(jié)果,并向我咨詢,這種開發(fā)的難度和周期。這事啟發(fā)我了,就以PDA的應(yīng)用為
    背景,讓我們來假想一個(gè)場景,從而來比較傳統(tǒng)的應(yīng)用模型與采用OSGi的應(yīng)用模型有怎樣
    的區(qū)別。

    我這樣想象:
    小李是一個(gè)軟件工程師,在一家專門為PDA開發(fā)應(yīng)用程序和解決方案的公司工作。最近,
    他剛為公司的一個(gè)客戶開發(fā)完成了一套運(yùn)行在PDA的JAVA應(yīng)用程序,我們不要關(guān)心PDA是
    什么硬件配置,只要知道它配備了JVM(cvm) + CDC以及PP和文件系統(tǒng)(呵呵設(shè)備還是比較
    強(qiáng)勁的)。而這個(gè)客戶是一個(gè)慈善機(jī)構(gòu),該機(jī)構(gòu)人員攜帶PDA進(jìn)入偏遠(yuǎn)山區(qū)收集生活困難
    家庭的信息,以準(zhǔn)備進(jìn)行資助。而這套程序?qū)?huì)暫時(shí)把家庭信息保存在PDA中,并隨時(shí)供
    用戶查詢修改。用戶使用一個(gè)月后,反饋非常好,但是,他們有新需求了,說原來只是想紀(jì)錄
    信息就成了,現(xiàn)在希望能給出一些排序功能,比如按家庭年收入對(duì)紀(jì)錄進(jìn)行排序.

    接到這個(gè)需求,小李一看,這個(gè)簡單,只要增加一個(gè)排序方法就可以了,讓我們假設(shè)他使用了如下
    數(shù)據(jù)結(jié)構(gòu)來紀(jì)錄家庭信息:

    Class FamilyInfo {

     
    private String familyName;//家庭名稱

     
    private int population; //人口數(shù)量

     
    private int incomePerYear; //年收入

     .(省略Getter和Setter方法)
    }


     

    為了滿足這個(gè)需求,小李決定添加一個(gè)靜態(tài)的排序方法:

    public static FamilyInfo[] sortByIncomePerYear(FamilyInfo[] familyInfos){
     
    //根據(jù)incomePerYear的值進(jìn)行冒泡排序。
    }



    把相關(guān)連部分修改完畢后,小李重新制作了安裝包和啟動(dòng)腳本,發(fā)送給客戶,不管客戶如何操作
    總之,原來的PDA程序必須卸載,新程序必須拷貝到PDA上再次執(zhí)行安裝,重新啟動(dòng)運(yùn)行。

    又過了一陣,客戶說,要求提供按人均年收入進(jìn)行排序,然后同樣的事情又發(fā)生了......

    幾個(gè)輪次下來,小李發(fā)現(xiàn),客戶的需求還在增加,他們可能要求增加一個(gè)字段,記錄目前該
    家庭得到的資助額,還可能添加按收入范圍查詢紀(jì)錄等等,事情還遠(yuǎn)沒有結(jié)束。

    如何改進(jìn)這個(gè)情況呢?當(dāng)然,改進(jìn)涉及多方面,比如從軟件本身出發(fā),可以使用合適的design
    pattern重新設(shè)計(jì)程序的體系結(jié)構(gòu),使得程序更易于擴(kuò)展,關(guān)于這一點(diǎn),有太多的討論了,我就不
    摻和了。還有從部署方面說,配置,安裝和卸載程序,對(duì)最終用戶往往是一項(xiàng)mission impossible,
    能否讓應(yīng)用程序自己升級(jí),而用戶只要點(diǎn)擊一個(gè)"升級(jí)"來觸發(fā)這個(gè)過程而已......

    我想你當(dāng)然知道我給的答案:OSGi,OSGi,OSGi!!!!

    posted on 2006-02-14 15:39 勤勞的蜜蜂 閱讀(4688) 評(píng)論(3)  編輯  收藏

    評(píng)論

    # re: osgi介紹(二)一個(gè)假想的實(shí)例 2007-06-21 16:43 hata

    非常不錯(cuò),對(duì)于理解OSGI很有幫助,謝謝你!茅塞頓開!
    這個(gè)例子我會(huì)在以后教別人的時(shí)候用的!
    別人問你什么是OSGI的時(shí)候很有說服力,不用干巴巴的說,就是....英文解釋,沒意義!有好的資料能早點(diǎn)發(fā)給我么?喜歡你的解釋方式,我留下郵箱了,QQ,MSN也放這,希望你跟我聯(lián)系!我叫hata.
    Emal: hatalf@yahoo.com.cn
    MSN: hatalf@hotmail.com
    qq: 25831856  回復(fù)  更多評(píng)論   

    # re: osgi介紹(二)一個(gè)假想的實(shí)例 2009-04-29 14:01 guest

    非常不錯(cuò)

    請(qǐng)樓主繼續(xù)  回復(fù)  更多評(píng)論   

    # re: osgi介紹(二)一個(gè)假想的實(shí)例[未登錄] 2009-10-14 11:38

    @guest
    生動(dòng)易解  回復(fù)  更多評(píng)論   


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲香蕉久久一区二区三区四区| 国产亚洲精品a在线观看| 亚洲欧洲综合在线| 中国人xxxxx69免费视频| 久久狠狠高潮亚洲精品| 30岁的女人韩剧免费观看| 亚洲福利一区二区精品秒拍| 100部毛片免费全部播放完整| 亚洲AV美女一区二区三区| 污污网站免费观看| 亚洲精彩视频在线观看| 69堂人成无码免费视频果冻传媒| 亚洲一级毛片视频| 天天干在线免费视频| 亚洲a∨国产av综合av下载| 免费人成在线观看视频播放| 2022免费国产精品福利在线| 久久久久久亚洲av成人无码国产| 69pao强力打造免费高清| 亚洲精品福利你懂| 免费在线观看中文字幕| 国产免费网站看v片在线| 亚洲福利视频网址| 国产裸模视频免费区无码| 日韩精品视频在线观看免费| 亚洲日韩精品一区二区三区| 57pao国产成视频免费播放| 亚洲制服丝袜中文字幕| 亚洲AV无码乱码在线观看性色扶| 国产又黄又爽胸又大免费视频 | 亚洲伊人精品综合在合线| 久久这里只有精品国产免费10| 激情小说亚洲图片| 久久99国产亚洲高清观看首页| 国产91色综合久久免费分享| 亚洲成AV人片高潮喷水| 国产亚洲综合一区柠檬导航| 在线视频免费观看高清| 久久国产乱子伦精品免费午夜| 亚洲毛片基地日韩毛片基地| 又爽又高潮的BB视频免费看|