亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

基于Equinox開發(fā)系統(tǒng)的總結(jié)

系統(tǒng) 2028 0

Equinox,我不想多做介紹,相信很多人都有所了解了,不了解的可具體去 www.eclipse.org/equinox 看看。
最近基于equinox做了一個(gè)系統(tǒng),還是碰到了一些問題,當(dāng)然也得到了在插件體系架構(gòu)下的不少優(yōu)點(diǎn),在這里也做個(gè)總結(jié)。
總體而言,基于equinox做開發(fā)對(duì)于大多數(shù)java開發(fā)人員來說應(yīng)該不會(huì)有太多改變的感覺,最多改變的感覺應(yīng)該是帶給設(shè)計(jì)師,設(shè)計(jì)師需要有發(fā)揮插件體系架構(gòu)優(yōu)點(diǎn)以及減少其帶來的缺點(diǎn)的能力,^_^
1、部署不是很方便
????? equinox默認(rèn)提供的是一個(gè)console端的插件部署管理,部署起來需要通過"install reference:file://"這樣的方式來安裝插件,不是特別的方便。
????? ^_^,由于我當(dāng)時(shí)使用的時(shí)候equinox還沒提供osgi中httpservice的實(shí)現(xiàn),便使用了oscar中提供的httpservice的實(shí)現(xiàn),基于這個(gè)httpservice的實(shí)現(xiàn)寫了一個(gè)web端的插件管理的工具,呵呵,將來整理后會(huì)將這個(gè)bundle公布出來,到時(shí)大家直接下載就可以用了。
????? 在部署方面還有一個(gè)不方便的地方就是不能指定插件的啟動(dòng)順序,現(xiàn)在equinox是通過config.ini中來實(shí)現(xiàn)插件啟動(dòng)順序的控制的,這個(gè)在我的web端的插件管理工具中也提供直接,可直接設(shè)定插件的啟動(dòng)順序。
2、Classpath的問題
????? 這個(gè)問題是我在使用equinox時(shí)比較頭疼的一個(gè)問題,我在bundle中使用了spring IoC container,而由于spring中使用的不是當(dāng)前類的加載器,導(dǎo)致在加載配置文件的時(shí)候會(huì)出錯(cuò),只得直接修改了spring中那些部分的代碼,將其改為使用當(dāng)前類的加載器。
?????? 在集成其他一些自己含有classpath的東西的時(shí)候也很容易出現(xiàn)這個(gè)問題。
?????? 雖然從原理上來講這個(gè)是可以理解的,因?yàn)樵诓寮w系結(jié)構(gòu)中每個(gè)插件都擁有獨(dú)立的插件類加載器,這個(gè)確實(shí)會(huì)對(duì)集成的有些東西產(chǎn)生影響,抑或我們應(yīng)該理解為集成的那些東西在這方面設(shè)計(jì)有缺陷?
3、有利于面向接口編程的執(zhí)行
????? 這個(gè)應(yīng)該說是屬于插件體系結(jié)構(gòu)的好處,每個(gè)插件可以控制自己對(duì)外所暴露的包,這個(gè)時(shí)候就可以只暴露接口所在的包,^_^,呵呵,面向接口的編程就這么被強(qiáng)制的執(zhí)行了。
4、插件開發(fā)的IDE
????? 這點(diǎn)是我覺得equinox的天然優(yōu)勢(shì),擁有一個(gè)eclipse這么優(yōu)秀的插件開發(fā)的IDE,^_^
????? 支持了插件的調(diào)試...
????? 我認(rèn)為的最重要的一點(diǎn)是它解決了插件依賴的問題,通常在出現(xiàn)project依賴的時(shí)候我們都需要引用該project或是該project生成的jar,而在插件體系結(jié)構(gòu)中只需要在插件文件中定義所依賴的包即可,這個(gè)就解決了去引用project那樣方式引起整個(gè)項(xiàng)目工程包混亂和開發(fā)不便的現(xiàn)象。
5、插件的測(cè)試
??????這點(diǎn)我想也是大家很關(guān)心的,不過大家可以放心,基本沒什么不同的,unit test繼續(xù)使用Mock方式完成所測(cè)試的unit的外部依賴的部分,集成測(cè)試則需要啟動(dòng)equinox容器,這點(diǎn)應(yīng)該沒什么不能接受的。
6、Bundle和Service的定義
????? 這個(gè)就是插件體系結(jié)構(gòu)帶來的一個(gè)挑戰(zhàn),如果準(zhǔn)確的定義系統(tǒng)中的bundle和service是很關(guān)鍵的一個(gè)問題,這對(duì)于發(fā)揮插件體系結(jié)構(gòu)的bundle級(jí)別、service級(jí)別的重用性至關(guān)重要,同時(shí)對(duì)于整個(gè)項(xiàng)目結(jié)構(gòu)的清晰度也會(huì)產(chǎn)生很大的影響,形成bundle的清晰的service依賴結(jié)構(gòu)。
7、面向服務(wù)的體系
????? 我想這也同樣是象equinox這樣的插件框架引發(fā)使用者的思考,系統(tǒng)采用的應(yīng)該是一種面向服務(wù)的體系,服務(wù)才是系統(tǒng)的核心,bundle只是一個(gè)管理器而已,這個(gè)時(shí)候怎么樣設(shè)計(jì)出動(dòng)態(tài)、松散耦合的服務(wù)體系是很關(guān)鍵的。

equinox一直都在發(fā)展之中,它的maillist一直就非常的熱鬧,而且現(xiàn)在對(duì)于osgi中的service它基本都實(shí)現(xiàn)了,也已經(jīng)開始提供對(duì)于servlet container集成的支持,^_^,極度支持equinox,雖然它還需要不斷的努力.....
可以看得出,經(jīng)過我上面的總結(jié),大家其實(shí)要擔(dān)心的是引用一種新的體系結(jié)構(gòu)帶來的設(shè)計(jì)層面的變革,而不是開發(fā)實(shí)現(xiàn)層面,^_^?



基于Equinox開發(fā)系統(tǒng)的總結(jié)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产高清免费视频 | avav好色| 欧美一欧美一区二三区性 | 自拍偷自拍亚洲精品被多人伦好爽 | 手机在线看片不卡中文字幕 | 久青草国产在线视频亚瑟影视 | 中文字幕永久视频 | 草久久| 欧美日韩日本国产 | 天天射天天操天天干 | 99香蕉国产精品偷在线观看 | 国产精品久久免费 | 不卡一二区 | 日韩伊人| 99久在线 | 四虎4hutv永久地址公告 | 黑人日美女 | 亚洲欧美日韩一区成人 | 91午夜精品亚洲一区二区三区 | 免费a级在线观看完整片 | 色综合天天综合网国产成人网 | 国产综合色在线视频区色吧图片 | 91免费国产在线观看尤物 | 国产精品亚洲欧美一级久久精品 | 免费一级特黄特色黄大任片 | 奇米777四色影视在线看 | 精品久久久久久中文字幕一区 | 国产精品欧美亚洲韩国日本久久 | 亚洲黄色小视频 | 欧美日本一本线在线观看 | 精品欧美一区二区三区在线观看 | 久草综合在线观看 | 亚洲人成网站999久久久综合 | 欧美啪啪毛片一区二区 | 国产在线精品观看一区 | 日本一级毛片免费 | 99国产情在线视频 | 国产精品久久久99 | 91精品国产91久久久久久 | 污夜影院 | 欧美色香蕉 |