免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Eclipse RCP技術(shù)簡(jiǎn)介
1、引言

Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展的開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架、一組服務(wù),用于通過(guò)插件來(lái)構(gòu)建開(kāi)發(fā)環(huán)境。當(dāng)我們提到Eclipse的時(shí)候,許多Java開(kāi)發(fā)者的第一反應(yīng)就是那個(gè)性能良好,界面漂亮,Debug功能奇佳的Java集成開(kāi)發(fā)平臺(tái)。

無(wú)可否認(rèn),Eclipse常常作為一款優(yōu)秀的IDE(Integrated Development Environment,集成開(kāi)發(fā)環(huán)境)出現(xiàn)在開(kāi)發(fā)者面前的。它不僅僅是Java的IDE,還可以是C語(yǔ)言的IDE、Python的IDE——只要開(kāi)發(fā)出相應(yīng)語(yǔ)言的插件,Eclipse就可以成為任何語(yǔ)言的IDE。但是,這些嚴(yán)格來(lái)說(shuō)都是Eclipse RCP的應(yīng)用。真正的Eclipse,是一個(gè)提供了一個(gè)完善的插件機(jī)制RCP(Rich Client Platform,胖客戶(hù)端平臺(tái))平臺(tái);它以SWT/JFace作為界面元素組件,提供給用戶(hù)一個(gè)名為Workbench的UI平臺(tái);加上它本身優(yōu)秀的插件機(jī)制,它能夠構(gòu)造出擴(kuò)展能力強(qiáng)、性能優(yōu)秀、并能提供給用戶(hù)良好UI體驗(yàn)的服客戶(hù)端平臺(tái)。

2、Eclipse RCP簡(jiǎn)介

Eclipse RCP是一項(xiàng)位于Eclipse平臺(tái)核心的功能。大多數(shù)人想到Eclipse時(shí),會(huì)想到Java集成開(kāi)發(fā)環(huán)境(IDE)。如果將Eclipse中關(guān)于IDE的內(nèi)容剝?nèi)?,剩下的就是一個(gè)提供基本工作臺(tái)功能的核心,包括對(duì)可移動(dòng)以及可疊加的窗口組件(編輯器和視圖)、菜單、工具欄、按鈕、表格、樹(shù)形結(jié)構(gòu)等等的支持,而這個(gè)核心就是Eclipse RCP。

個(gè)人理解Eclipse RCP就是由插件開(kāi)發(fā)轉(zhuǎn)向桌面應(yīng)用開(kāi)發(fā),構(gòu)建最小化的Eclipse平臺(tái)(8M)運(yùn)行你的桌面應(yīng)用,不必再為程序框架煩心,擺脫失敗的AWT和Swing,讓程序擁有專(zhuān)業(yè)級(jí)效果,而實(shí)現(xiàn)又很簡(jiǎn)單、很優(yōu)雅。

RCP提供了豐富的界面控件,這使得基于 Java 開(kāi)發(fā)桌面應(yīng)用也變得容易了很多,雖然仍然不能和基于VB、Delphi進(jìn)行相比。對(duì)于開(kāi)發(fā)者而言,盡管使用 RCP 也是為了開(kāi)發(fā)桌面應(yīng)用,但 RCP 給開(kāi)發(fā)者帶來(lái)的更多的感覺(jué)是在它充分發(fā)揮了插件化系統(tǒng)的優(yōu)勢(shì), RCP 可以視為基于 OSGi(Open Service Gateway Initiative) 構(gòu)建插件化系統(tǒng)的最佳實(shí)踐的指導(dǎo),從 RCP 的設(shè)計(jì)中,可以學(xué)習(xí)到如何將應(yīng)用做到模塊化、將應(yīng)用做到動(dòng)態(tài)化,甚至還可以學(xué)習(xí)到如何自動(dòng)生成界面這樣的設(shè)計(jì)思想。 RCP 可以看做是基于 OSGi 做插件化應(yīng)用系統(tǒng)的最佳實(shí)踐,其中的不少設(shè)計(jì)方法甚至都可以整理成為基于 OSGi 做插件化應(yīng)用系統(tǒng)的設(shè)計(jì)模式,讓我們進(jìn)入 RCP 之旅,揭開(kāi)面紗,一探其本質(zhì)吧!相信大家在了解了 RCP 的設(shè)計(jì)思想,看過(guò)其代碼后,不得不對(duì) RCP 表示崇高的敬意,大師之作,不同凡響。

Eclipse RCP為應(yīng)用程序開(kāi)發(fā)人員提供了:

◆應(yīng)用程序和特性的一致且本地的外觀;
◆公共應(yīng)用程序服務(wù),例如窗口管理、更新管理、幫助和選擇管理;
◆本地的外觀,利用Windows、Mac OS X、Linux、Solaris、HP-UX、AIX和嵌入式設(shè)備上的實(shí)際平臺(tái)窗口部件;
◆標(biāo)準(zhǔn)化的組件模型;
◆普及的可擴(kuò)展性;
◆整合的更新機(jī)制;
◆頂級(jí)開(kāi)發(fā)工具(Eclipse 軟件開(kāi)發(fā)包(SDK)是世界級(jí)的軟件開(kāi)發(fā)環(huán)境)。

Eclipse RCP項(xiàng)目用SWT圖形庫(kù)和工具包取代了Java標(biāo)準(zhǔn)中的AWT和Swing。SWT直接調(diào)用了操作系統(tǒng)的圖形庫(kù),從而使得Java應(yīng)用程序的LOOK & Feel 與操作系統(tǒng)的習(xí)慣完全一致;更為重要的是,對(duì)本地方法的直接調(diào)用大幅度的提高了基于SWT 的Java應(yīng)用程序的運(yùn)行速度。SWT 的缺點(diǎn)主要在于兩點(diǎn):(1) 不是Java語(yǔ)言標(biāo)準(zhǔn); (2) 支持的平臺(tái)太少。

3、Eclipse RCP體系結(jié)構(gòu)

一個(gè)Eclipse RCP可分為如下五個(gè)部分,如下圖所示:

圖1

(1)Wrokbench工作臺(tái)
為Eclipse提供用戶(hù)界面。它是使用SWT(Standard Widget Toolkit)和一個(gè)更高級(jí)的API(JFace)來(lái)構(gòu)建的;SWT是Java的Swing/AWT GUI API的非標(biāo)準(zhǔn)替代者,JFace則建立在SWT基礎(chǔ)上,提供用戶(hù)界面組件。

(2)Workspace工作區(qū)
工作區(qū)是負(fù)責(zé)管理用戶(hù)資源的插件。它包括用戶(hù)創(chuàng)建的項(xiàng)目、項(xiàng)目中的文件,以及文件變更和其它資源。工作區(qū)還負(fù)責(zé)通知其它插件關(guān)于資源變更的信息,比如文件創(chuàng)建、刪除或者變更。

(3)Help幫助系統(tǒng)
幫助組建具有與Eclipse平臺(tái)本身相當(dāng)?shù)目蓴U(kuò)展能力。與插件向Eclipse添加功能相同,幫助提供一個(gè)附加的導(dǎo)航結(jié)構(gòu),允許工具以HTML文件的形式添加文檔。

(4)Team團(tuán)隊(duì)支持系統(tǒng)
團(tuán)隊(duì)支持組件負(fù)責(zé)提供版本控制和配置管理支持。它根據(jù)需要添加視圖,以允許用戶(hù)與所有使用的任何版本控制系統(tǒng)交互。大多數(shù)插件都不需要與團(tuán)隊(duì)支持組件交互,除非它們提供版本控制服務(wù)。

(5)Platform Runtime運(yùn)行平臺(tái)
平臺(tái)運(yùn)行庫(kù)是整個(gè)Eclipse的內(nèi)核,它在啟動(dòng)時(shí)檢查已安裝了哪些插件,并創(chuàng)建關(guān)于它們的注冊(cè)表信息。為降低啟動(dòng)時(shí)間和資源使用,它在實(shí)際需要某個(gè)插件的時(shí)候才加載該插件。除了內(nèi)核外,其它每樣?xùn)|西都是作為插件來(lái)實(shí)現(xiàn)的。

【文章相關(guān)內(nèi)容】

第一頁(yè)Eclipse RCP體系結(jié)構(gòu)

第二頁(yè)Eclipse RCP功能簡(jiǎn)介  

#p#

Eclipse最明顯的一大優(yōu)點(diǎn)就是即插即用、即刪即無(wú)。在構(gòu)建插件化的應(yīng)用系統(tǒng)的時(shí)候,我們通常希望做到以下三點(diǎn):

(1)通過(guò)增加插件來(lái)動(dòng)態(tài)擴(kuò)展系統(tǒng)功能,包括功能的入口等,最重要的就是不要因?yàn)樵黾恿诵碌牟寮?,而?dǎo)致對(duì)原插件的修改,做到即插即用, OSGi 本身提供了基于插件動(dòng)態(tài)擴(kuò)展系統(tǒng)功能的支持,但是否可以真的做到即插即用,是否可以不導(dǎo)致對(duì)原插件的修改,這個(gè)還是要看設(shè)計(jì)者的功力;

(2)通過(guò)刪除插件來(lái)動(dòng)態(tài)移除系統(tǒng)功能,包括功能的入口等,最重要的就是要讓插件的卸載不影響到系統(tǒng)的運(yùn)行,這個(gè)和 1 里面所說(shuō)的情況也是一樣的, OSGi 是可以支持這樣的要求,但應(yīng)用系統(tǒng)是否能做到還是看設(shè)計(jì)者的功力;

(3)通過(guò)增加或更新插件來(lái)動(dòng)態(tài)改變系統(tǒng)行為。

RCP基于OSGi來(lái)保證其插件化以及動(dòng)態(tài)化可實(shí)現(xiàn)的情況下,還定義了擴(kuò)展點(diǎn)的機(jī)制,而正是因?yàn)閿U(kuò)展點(diǎn)的機(jī)制,使得 RCP 在設(shè)計(jì)角度上能夠更好的達(dá)到我們構(gòu)建插件化應(yīng)用系統(tǒng)的前兩個(gè)目標(biāo),同時(shí) RCP 通過(guò)其對(duì)桌面應(yīng)用支撐的設(shè)計(jì)為我們展示了擴(kuò)展點(diǎn)的最佳實(shí)踐方法,將界面按照對(duì)象的思想進(jìn)行劃分,在劃分的過(guò)程中根據(jù)職責(zé)形成插件,暴露出擴(kuò)展點(diǎn),最后形成了像樹(shù)一樣的結(jié)構(gòu)體系,如圖所示:

圖2

這種設(shè)計(jì)方法最佳的一個(gè)地方就在于充分的做到了真正的即插即用、即刪即無(wú)的情況,典型的例子就是在 RCP 中可以通過(guò)擴(kuò)展實(shí)現(xiàn) Perspective ,將這個(gè)插件安裝上后就可以在 RCP 中看到這個(gè) Perspective ,刪除這個(gè)插件后 RCP 中自然就看不到這個(gè) Perspective 了。

從 RCP 的結(jié)構(gòu)體系上,可以看出 RCP 在基于擴(kuò)展點(diǎn)的設(shè)計(jì)思想上是怎么去設(shè)計(jì)的,它的設(shè)計(jì)思路采取的就是從頂至下、按照職責(zé)進(jìn)行劃分、形成插件的方法,插件中需要支持動(dòng)態(tài)擴(kuò)展的部分則做成擴(kuò)展點(diǎn),從而形成一個(gè)非常容易擴(kuò)展的開(kāi)發(fā)平臺(tái)。

即插即用、即刪即無(wú)的支持使得系統(tǒng)可以很好的以插件的方式來(lái)進(jìn)行組裝,做系統(tǒng)的時(shí)候就象在種樹(shù),先把系統(tǒng)的根撒下,讓根長(zhǎng)出主干,在主干上培育出枝葉,枝葉上結(jié)出果實(shí),整顆樹(shù)就這么培育成了,當(dāng)不需要了某個(gè)果實(shí)的時(shí)候,把它摘下來(lái)吃了,當(dāng)不需要了某顆枝葉的時(shí)候,把那顆枝葉砍了,而這都不會(huì)影響到主干,當(dāng)希望樹(shù)上形成別的果實(shí)的時(shí)候,甚至都可以接上不同的枝葉,讓它長(zhǎng)出不一樣的果實(shí)。

4、總結(jié)

目前,基于Eclipse開(kāi)發(fā)的插件非常多,涉及到軟件領(lǐng)域的各個(gè)方面。但是,基于Eclipse RCP開(kāi)發(fā)的獨(dú)立軟件并不常見(jiàn),其中比較著名的幾款Eclipse RCP軟件有:

JLabrary:開(kāi)源的CMS系統(tǒng),用Eclipse RCP實(shí)現(xiàn)客戶(hù)端;
NOA Office Integration Editor:將Open Office集成到RCP上的一款辦公軟件;
Nomad PIM:一款建議的個(gè)人信息管理系統(tǒng),可以對(duì)個(gè)人信息,例如日程、支出、日記等進(jìn)行管理。

感興趣的讀者可以下載這些軟件的源代碼進(jìn)行學(xué)習(xí)。另外Eclipse本身也具有十分詳細(xì)的RCP開(kāi)發(fā)幫助文檔(都是英文的),充分利用這些資源將大大加快Eclipse RCP開(kāi)發(fā)。

【文章相關(guān)內(nèi)容】

第一頁(yè)Eclipse RCP體系結(jié)構(gòu)

第二頁(yè)Eclipse RCP功能簡(jiǎn)介  

【相關(guān)文章】

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
25個(gè)最佳最閃亮的Eclipse開(kāi)發(fā)項(xiàng)目 - CSDN Java頻道
Eclipse平臺(tái)架構(gòu)技術(shù)分析及基于RCP的應(yīng)用研究
Eclipse Ganymede:深入RAP
BlogJava - kukooBlog - Eclipse RCP 應(yīng)用系統(tǒng)
RAP 與 RCP的差別 - 好好生活,努力工作,天天向上! - BlogJava
JR 精品文章 - Eclipse 資源總匯(保持更新)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服