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

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

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

    Oo緣來(lái)是你oO


    posts - 120,comments - 125,trackbacks - 0
    Eclipse 平臺(tái)入門

    作者:David Gallardo ????來(lái)自:IBM


    本文為您提供關(guān)于 Eclipse 平臺(tái)的概述,包括其起源和體系結(jié)構(gòu)。本文首先簡(jiǎn)要討論 Eclipse 的開(kāi)放源代碼性質(zhì)及其對(duì)多種編程語(yǔ)言的支持,然后通過(guò)一個(gè)簡(jiǎn)單的程序例子展示 Java 開(kāi)發(fā)環(huán)境。本文還將考查以插件擴(kuò)展形式可用的一些軟件開(kāi)發(fā)工具,并展示一個(gè)用于 UML 建模的插件擴(kuò)展。

      Eclipse 是什么?

      Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開(kāi)發(fā)工具(Java Development Tools,JDT)。

      雖然大多數(shù)用戶很樂(lè)于將 Eclipse 當(dāng)作 Java IDE 來(lái)使用,但 Eclipse 的目標(biāo)不僅限于此。Eclipse 還包括插件開(kāi)發(fā)環(huán)境(Plug-in Development Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的軟件開(kāi)發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境無(wú)縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對(duì)于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開(kāi)發(fā)環(huán)境而言,所有工具開(kāi)發(fā)人員都具有同等的發(fā)揮場(chǎng)所。

      這種平等和一致性并不僅限于 Java 開(kāi)發(fā)工具。盡管 Eclipse 是使用 Java 語(yǔ)言開(kāi)發(fā)的,但它的用途并不限于 Java 語(yǔ)言;例如,支持諸如 C/C++、COBOL 和 Eiffel 等編程語(yǔ)言的插件已經(jīng)可用,或預(yù)計(jì)會(huì)推出。Eclipse 框架還可用來(lái)作為與軟件開(kāi)發(fā)無(wú)關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。

      基于 Eclipse 的應(yīng)用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它構(gòu)成了 IBM Java 開(kāi)發(fā)工具系列的基礎(chǔ)。例如,WebSphere Studio Application Developer 添加了對(duì) JSP、servlet、EJB、XML、Web 服務(wù)和數(shù)據(jù)庫(kù)訪問(wèn)的支持。

      Eclipse 是開(kāi)放源代碼的軟件

      開(kāi)放源代碼軟件是這樣一種軟件,它們?cè)诎l(fā)布時(shí)附帶了旨在確保將某些權(quán)利授予用戶的許可證。當(dāng)然,最明顯的權(quán)利就是源代碼必須可用,以便用戶能自由地修改和再分發(fā)該軟件。這種用戶權(quán)利的保護(hù)是通過(guò)一種稱為 copyleft 的策略來(lái)完成的:軟件許可證主張版權(quán)保護(hù),除非明確授予用戶這樣的權(quán)利,否則用戶不得分發(fā)該軟件。copyleft 還要求同一許可證涵蓋任何被再分發(fā)的軟件。這實(shí)際上倒置了版權(quán)的目的——使用版權(quán)來(lái)授予用戶權(quán)利,而不是為軟件的開(kāi)發(fā)者保留版權(quán)——copyleft 經(jīng)常被描述為“保留所有版權(quán)”。

      曾經(jīng)四處蔓延的對(duì)開(kāi)放源代碼軟件的許多恐懼、擔(dān)憂和疑慮,都與某些 copyleft 許可證的所謂“病毒”性質(zhì)有關(guān)——如果使用開(kāi)放源代碼軟件作為您開(kāi)發(fā)的程序的一部分,您將失去自己的知識(shí)產(chǎn)權(quán),因?yàn)樵撛S可證將“傳染”您開(kāi)發(fā)的專有部分。換句話說(shuō),該許可證可能要求與開(kāi)放源代碼軟件一起打包的所有軟件,都必須在相同的許可證之下發(fā)布。雖然這對(duì)最著名的 copyleft 許可證(即 GNU 通用公共許可證,例如 Linux 就是在該許可證之下發(fā)布的)來(lái)說(shuō)可能是事實(shí),當(dāng)時(shí)還有其他許可證在商業(yè)化和社區(qū)考慮之間提供了較好的平衡。

      開(kāi)放源代碼計(jì)劃(Open Software Initiative)是一家非營(yíng)利機(jī)構(gòu),它明確定義了開(kāi)放源代碼的含義及滿足其標(biāo)準(zhǔn)的認(rèn)證許可證。Eclipse 是在 OSI 認(rèn)可的通用公共許可證(CPL)1.0 版之下被授予許可證的,CPL“旨在促進(jìn)程序的商業(yè)化使用……”(欲獲得指向通用公共許可證 1.0 版完整文本的鏈接,請(qǐng)參閱本文稍后的 參考資料)。

      為 Eclipse 創(chuàng)建插件或?qū)?Eclipse 用作軟件開(kāi)發(fā)應(yīng)用程序基礎(chǔ)的開(kāi)發(fā)人員,需要發(fā)布他們?cè)?CPL 下使用或修改的任何 Eclipse 代碼,但是他們可以自由決定自己添加的代碼的許可證授予方式。與出自 Eclipse 的軟件一起打包的專有代碼不需要作為開(kāi)放源代碼來(lái)授予許可證,該源代碼也不需要提供給用戶。

      盡管大多數(shù)開(kāi)發(fā)人員不會(huì)使用 Eclipse 來(lái)開(kāi)發(fā)插件,或創(chuàng)建基于 Eclipse 的新產(chǎn)品,但是 Eclipse 的開(kāi)放源代碼性質(zhì)所意味的,并不只是它使得 Eclipse 免費(fèi)可用(盡管便于商業(yè)化的許可證意味著插件可能要花錢)。開(kāi)放源代碼鼓勵(lì)創(chuàng)新,并激勵(lì)開(kāi)發(fā)人員(甚至是商業(yè)開(kāi)發(fā)人員)為公共開(kāi)放源代碼庫(kù)貢獻(xiàn)代碼。對(duì)此存在許多原因,不過(guò)最本質(zhì)的原因或許是為這個(gè)項(xiàng)目作貢獻(xiàn)的開(kāi)發(fā)人員越多,這個(gè)項(xiàng)目就會(huì)變得對(duì)每個(gè)人都越寶貴。隨著這個(gè)項(xiàng)目變得更加有用,更多的開(kāi)發(fā)人員將會(huì)使用它,并圍繞它形成一個(gè)社區(qū),就像那些圍繞 Apache 和 Linux 形成的社區(qū)一樣。

      Eclipse 是什么機(jī)構(gòu)?

      Eclipse.org 協(xié)會(huì)管理和指導(dǎo) Eclipse 正在進(jìn)行中的開(kāi)發(fā)。在據(jù)說(shuō) IBM 花了 4000 萬(wàn)美元開(kāi)發(fā) Eclipse,并把它作為一個(gè)開(kāi)放源代碼項(xiàng)目發(fā)布之后,Eclipse.org 協(xié)會(huì)吸收了許多軟件工具提供商,包括 Borland、Merant、Rational、RedHat、SuSE、TogetherSoft 和 QNX。從那以后還有其他公司相繼加入,包括 Hewlett Packard、Fujitsu、Sybase。這些公司分別向理事會(huì)派了一名代表,這個(gè)理事會(huì)負(fù)責(zé)確定 Eclipse 項(xiàng)目的方向和范圍。

      在最高層,項(xiàng)目管理委員會(huì)(Project Management Committee,PMC)管理著 Eclipse 項(xiàng)目。這個(gè)項(xiàng)目被劃分為多個(gè)子項(xiàng)目,每個(gè)子項(xiàng)目都有一名負(fù)責(zé)人。大型子項(xiàng)目又被劃分為組,每個(gè)組也有一名負(fù)責(zé)人。目前,這其中的大多數(shù)管理角色都由最初開(kāi)發(fā) Eclipse 的 IBM 子公司 Object Technology International (OTI)的人擔(dān)任,但是作為一個(gè)開(kāi)放源代碼的項(xiàng)目,它歡迎任何人的參與。任何特定部門的職責(zé)是通過(guò)該部門對(duì)項(xiàng)目的貢獻(xiàn)來(lái)爭(zhēng)取的。

      現(xiàn)在我們已經(jīng)考察了 Eclipse 背后的一些理論、歷史和管理,下面讓我們考察該產(chǎn)品本身。

      Eclipse 工作臺(tái)

      在第一次打開(kāi) Eclipse 時(shí),首先看到的是下面的歡迎屏幕:


    圖 1. Eclipse 工作臺(tái)

      Eclipse 工作臺(tái)由幾個(gè)稱為 視圖(view) 的窗格組成,比如左上角的 Navigator 視圖。窗格的集合稱為 透視圖(perspective)。默認(rèn)的透視圖是 Resource 透視圖,它是一個(gè)基本的通用視圖集,用于管理項(xiàng)目以及查看和編輯項(xiàng)目中的文件。

      Navigator 視圖 允許您創(chuàng)建、選擇和刪除項(xiàng)目。Navigator 右側(cè)的窗格是 編輯器區(qū)域。取決于 Navigator 中選定的文檔類型,一個(gè)適當(dāng)?shù)木庉嬈鞔翱趯⒃谶@里打開(kāi)。如果 Eclipse 沒(méi)有注冊(cè)用于某特定文檔類型(例如,Windows 系統(tǒng)上的 .doc 文件)的適當(dāng)編輯器,Eclipse 將設(shè)法使用外部編輯器來(lái)打開(kāi)該文檔。

      Navigator 下面的 Outline 視圖 在編輯器中顯示文檔的大綱;這個(gè)大綱的準(zhǔn)確性取決于編輯器和文檔的類型;對(duì)于 Java 源文件,該大綱將顯示所有已聲明的類、屬性和方法。

      Tasks 視圖 收集關(guān)于您正在操作的項(xiàng)目的信息;這可以是 Eclipse 生成的信息,比如編譯錯(cuò)誤,也可以是您手動(dòng)添加的任務(wù)。

      該工作臺(tái)的大多數(shù)其他特性,比如菜單和工具欄,都應(yīng)該和其他那些熟悉的應(yīng)用程序類似。一個(gè)便利的特性就是不同透視圖的快捷方式工具欄,它顯示在屏幕的左端;這些特性隨上下文和歷史的不同而有顯著差別。Eclipse 還附帶了一個(gè)健壯的幫助系統(tǒng),其中包括 Eclipse 工作臺(tái)以及所包括的插件(比如 Java 開(kāi)發(fā)工具)的用戶指南。至少瀏覽一遍這個(gè)幫助系統(tǒng)是值得的,這樣可以看到有哪些可用的選項(xiàng),同時(shí)也可更好地理解 Eclipse 的工作流程。

      為繼續(xù)這個(gè)短暫的 Eclipse 之旅,我們將在 Navigator 中創(chuàng)建一個(gè)項(xiàng)目。右鍵單擊 Navigator 視圖,然后選擇 New=>Project。當(dāng) New Project 對(duì)話框出現(xiàn)時(shí),選擇左面的 Java。標(biāo)準(zhǔn) Eclipse 只有一種 Java 項(xiàng)目類型,名為“Java Project”。如果安裝了插件來(lái)提供 JSP 和 servlet 支持,我們會(huì)從這里看到一個(gè)用于 Web 應(yīng)用程序的附加選項(xiàng)。眼下,請(qǐng)選擇 Java Project,在提示項(xiàng)目名稱時(shí)輸入“Hello”,然后按 Finish。

      接下來(lái),我們將檢查一下 Java 透視圖。取決于您喜歡的屏幕管理方式,您可以通過(guò)選擇 Window=>Open Perspective=>Java 來(lái)改變當(dāng)前窗口中的透視圖,也可以通過(guò)選擇 Window=>New Window,然后再選擇這個(gè)新的透視圖,從而打開(kāi)一個(gè)新的窗口。

      正如您可能預(yù)期的那樣,Java 透視圖包含一組更適合于 Java 開(kāi)發(fā)的視圖。其中之一就是左上角的視圖,它是一個(gè)包含各種 Java 包、類、jar 和其他文件的層次結(jié)構(gòu)。這個(gè)視圖稱為 Package Explorer。還要注意主菜單已經(jīng)展開(kāi)了——并且出現(xiàn)了兩個(gè)新的菜單項(xiàng):Source 和 Refactor。

      Java 開(kāi)發(fā)環(huán)境(JDE)

      為試驗(yàn)一下 Java 開(kāi)發(fā)環(huán)境,我們將創(chuàng)建并運(yùn)行一個(gè)“Hello, world”應(yīng)用程序。使用 Java 透視圖,右鍵單擊“Hello”項(xiàng)目,選擇 New=>Class,如圖 2 所示。在隨后出現(xiàn)的對(duì)話框中,鍵入“Hello”作為類名稱。在“Which method stubs would you like to create?”下面,選中“public static void main(String[] args)”復(fù)選框,然后按 Finish。


    圖 2. 在 Java 透視圖中創(chuàng)建新類

      這樣將在編輯器區(qū)域創(chuàng)建一個(gè)包含 Hello 類和空的 main() 方法的 .java 文件,如圖 3 所示。然后向該方法添加如下代碼(注意其中 i 的聲明是有意省略了的):


    圖 3. Java 編輯器中的 Hello 類

      您會(huì)在鍵入時(shí)注意到 Eclipse 編輯器的一些特性,包括語(yǔ)法檢查和代碼自動(dòng)完成。在 2.1 版(我曾下載 M2 版來(lái)試用過(guò))中,當(dāng)您鍵入開(kāi)括號(hào)或雙引號(hào)時(shí),Eclipse 會(huì)自動(dòng)提供配對(duì)的符號(hào),并將光標(biāo)置于符號(hào)對(duì)之內(nèi)。

      在其他情況下,您可以通過(guò)按 Ctrl-Space 來(lái)調(diào)用代碼自動(dòng)完成功能。代碼自動(dòng)完成提供了上下文敏感的建議列表,您可通過(guò)鍵盤或鼠標(biāo)來(lái)從列表中選擇。這些建議可以是針對(duì)某個(gè)特定對(duì)象的方法列表,也可以是基于不同的關(guān)鍵字(比如 for 或 while)來(lái)展開(kāi)的代碼片斷。

      語(yǔ)法檢查依賴增量編譯。每當(dāng)您保存代碼,它就在后臺(tái)接受編譯和語(yǔ)法檢查。默認(rèn)情況下,語(yǔ)法錯(cuò)誤將以紅色下劃線顯示,一個(gè)帶白 “X” 的紅點(diǎn)將出現(xiàn)在左邊沿。其他錯(cuò)誤在編輯器的左邊沿通過(guò)燈泡狀的圖標(biāo)來(lái)指示;這些就是編輯器或許能為您修復(fù)的問(wèn)題——即所謂的Quick Fix(快速修復(fù))特性。

      上面的代碼例子在 for 語(yǔ)句后面有一個(gè)燈泡狀圖標(biāo),因?yàn)?i 的聲明被省略了。雙擊該圖標(biāo)將調(diào)出建議的修復(fù)列表。在此例中,它將提供創(chuàng)建一個(gè)類字段 i、一個(gè)局部變量 i 或一個(gè)方法參數(shù) i 的建議;單擊其中的每一個(gè)建議都會(huì)顯示將要生成的代碼。圖 4 顯示了該建議列表和建議創(chuàng)建一個(gè)局部變量之后生成的代碼。


    圖 4. Quick Fix 建議

      雙擊該建議就會(huì)把建議代碼插入到代碼中的恰當(dāng)位置。

      一旦代碼無(wú)錯(cuò)誤地編譯完成,您就能夠從 Eclipse 菜單上選擇 Run 來(lái)執(zhí)行該程序(注意這里不存在單獨(dú)的編譯步驟,因?yàn)榫幾g是在您保存代碼時(shí)進(jìn)行的。如果代碼沒(méi)有語(yǔ)法錯(cuò)誤,它就可以運(yùn)行了)。這時(shí)會(huì)出現(xiàn)一個(gè)具有適當(dāng)默認(rèn)設(shè)置的 Launch Configurations 對(duì)話框;請(qǐng)按右上角的 Run 按鈕。一個(gè)新的選項(xiàng)卡式窗格將出現(xiàn)在下面的窗格(控制臺(tái))中,其中顯示了程序的輸出,如圖 5 所示。


    圖 5. 程序的輸出

      也可以在 Java 調(diào)試器中運(yùn)行程序。首先雙擊編輯器視圖左端的灰色邊沿,從而在調(diào)用 System.out.println() 之后的 main() System.out.println() 中設(shè)置一個(gè)斷點(diǎn)。一個(gè)藍(lán)色的點(diǎn)將會(huì)出現(xiàn)在那里。然后從 Run 菜單上選擇 Debug。正如上面描述的,這時(shí)會(huì)出現(xiàn)一個(gè) Launch Configurations 對(duì)話框。請(qǐng)選擇 Run。透視圖將自動(dòng)切換到 Debug 透視圖,其中具有許多有趣的新視圖,如圖 6 所示:


    圖 6. Debug 透視圖

      首先,請(qǐng)注意該透視圖左上角的 Debug 視圖。這個(gè)視圖顯示調(diào)用堆棧,并且標(biāo)題欄中有一個(gè)工具欄,它允許您控制程序的執(zhí)行,包括繼續(xù)、掛起或終止程序、跟蹤下一個(gè)語(yǔ)句、單步執(zhí)行下一個(gè)語(yǔ)句,或者從方法返回。

      右上角的窗格包含許多選項(xiàng)卡式的視圖,包括 Variables、Breakpoints、Expressions 和 Display。這里我單擊了 Variables 視圖,以便我們能夠看到 i 的當(dāng)前值。

      可以通過(guò)上下文敏感的幫助,獲得關(guān)于這些視圖的更多信息:?jiǎn)螕粢晥D的標(biāo)題,然后按 F1。

      附加插件

      除了像 JDT 這樣用于編輯、編譯和調(diào)試應(yīng)用程序的插件外,還有些可用的插件支持從建模、生成自動(dòng)化、單元測(cè)試、性能測(cè)試、版本控制到配置管理的完整開(kāi)發(fā)過(guò)程。

      Eclipse 標(biāo)準(zhǔn)地附帶了配合 CVS 使用的插件,CVS 是用于源代碼控制的開(kāi)放源代碼并發(fā)版本系統(tǒng)(Concurrent Versions System)。Team 插件連接到 CVS 服務(wù)器,允許開(kāi)發(fā)團(tuán)隊(duì)的成員操作一組源代碼文件,卻不會(huì)相互覆蓋其他人的更改。這里不打算進(jìn)一步探討如何從 Eclipse 內(nèi)部進(jìn)行源代碼控制,因?yàn)檫@需要安裝 CVS 服務(wù)器,不過(guò)支持開(kāi)發(fā)團(tuán)隊(duì)而不只是獨(dú)立的開(kāi)發(fā),這是 Eclipse 的一個(gè)重要的必備特性。

      已經(jīng)可用或已宣布要推出的一些第三方插件包括:

      版本控制和配置管理

      □ CVS
      □ Merant PVCS
      □ Rational ClearCase

      UML 建模

      □ OMONDO EclipseUML
      □ Rational XDE (代替 Rose)
      □ Together WebSphere Studio Edition

      圖形

      □ Batik SVG
      □ Macromedia Flash

      Web 開(kāi)發(fā)、HTML、XML

      □ Macromedia Dreamweaver
      □ XMLBuddy

      應(yīng)用服務(wù)器集成

      □ Sysdeo Tomcat launcher

      欲了解可用插件的更完整列表,請(qǐng)參閱 Eclipse 插件列表。

      例子:一個(gè)用于 UML 建模的插件

      要查看插件的例子,以及查看它是如何與 Eclipse 集成的,請(qǐng)下載流行的 OMONDO EclipseUML;您需要注冊(cè),不過(guò)該插件是免費(fèi)的。這個(gè)插件依賴 GEF,即 Graphical Editor Framework,這是另一個(gè) Eclipse 插件。GEF 是 Tools 子項(xiàng)目的一部分。要下載 GEF,請(qǐng)轉(zhuǎn)到 Eclipse Web 站點(diǎn),選擇“downloads”,然后單擊“Tools PMC downloads page”鏈接。注意您需要下載 OMONDO 推薦的 GEF 版本(針對(duì) OMONDO 1.0.2 的是 GEF 2.0 版)。

      下載之后,插件的安裝通常是通過(guò)解壓縮下載文件,并將其內(nèi)容復(fù)制到 Eclipse 插件目錄來(lái)完成的。在此例中,GEF 需要解壓縮到 Eclipse目錄(它將自動(dòng)從該目錄進(jìn)入插件目錄)。為安全起見(jiàn),您可能想將它解壓縮到某個(gè)臨時(shí)目錄,再相應(yīng)地從那里復(fù)制相關(guān)目錄。如果 Eclipse 正在運(yùn)行,您需要停止它然后再重新啟動(dòng)它,這樣它才能識(shí)別新安裝的插件。

      一旦 EclipseUML(以及 GEF)安裝完成,您就能夠像創(chuàng)建一個(gè) Java 類文件一樣創(chuàng)建一個(gè)類圖。在 Java 透視圖中,右鍵單擊 Package Explorer 中的“Hello”項(xiàng)目,然后從彈出菜單上選擇 New=>Other。New 對(duì)話框的左邊窗格中將會(huì)有一個(gè)用于 UML 的新選項(xiàng)。EclipseUML 的免費(fèi)版本僅支持類圖,因此右側(cè)的惟一選項(xiàng)是 UML Class Diagram。請(qǐng)選擇 UML Class Diagram,然后為該類圖鍵入一個(gè)名稱,比如“Hello”:


    圖 7. Class Diagram 編輯器

      編輯器區(qū)域中將會(huì)出現(xiàn)一個(gè)圖形編輯器,它帶有用于繪制類圖的畫布。您可以通過(guò)兩種方式創(chuàng)建類圖:通過(guò)將 Java 文件從 Package Explorer 拖放到類圖上,從而對(duì)現(xiàn)有代碼進(jìn)行逆向工程;或者使用空白類圖上面工具欄中可用的繪制工具。要試驗(yàn)第一種方法,請(qǐng)創(chuàng)建一個(gè)名為 Person 的新類(使用 File=>New=>Class),然后賦予它下面列出的兩個(gè)私有屬性:


    /** Person.java
    ?* @author david
    ?*/
    public class Person {
    private String name;
    private Address address;

    /**
    ?* Returns the address.
    ?* @return Address
    ?*/
    public Address getAddress() {
    ???????? return address;
    }

    /**
    ?* Returns the name.
    ?* @return String
    ?*/
    public String getName() {
    ??????? return name;
    }

    /**
    ?* Sets the address.
    ?* @param address The address to set
    ?*/
    public void setAddress(Address address) {
    ??????? this.address = address;
    }

    /**
    ?* Sets the name.
    ?* @param name The name to set
    ?*/
    public void setName(String name) {
    ?????? this.name = name;
    }

    }

      (應(yīng)該承認(rèn),我僅鍵入了針對(duì) name 和 address 的行。getter 和 setter 方法是通過(guò) Eclipse 自動(dòng)生成的,即右鍵單擊源代碼,然后從彈出菜單上選擇 Source=>Generate Getter and Setter 。)

      請(qǐng)保存并關(guān)閉 Person.java Hello.ucd。


    圖 8. Person 類圖

      要從 UML 創(chuàng)建 Java 類,請(qǐng)單擊類圖窗口頂部工具欄上的“New class”按鈕,即左起第三個(gè)按鈕,然后單擊類圖。當(dāng) New 類向?qū)Т蜷_(kāi)時(shí),請(qǐng)鍵入 Adress 作為類名稱,然后按 Finish。

      您可以右鍵單擊類名稱并選擇 New=>Attribute,從而給類添加屬性。在 New 屬性對(duì)話框中,請(qǐng)輸入屬性名稱、類型和可見(jiàn)性。然后右鍵單擊類名稱并選擇 New=>Method 來(lái)添加方法。

      當(dāng)您更改類圖時(shí),圖下面的 Source Editor 窗口將反映所做的更改。最后,您可以單擊 Association 按鈕(左起第五個(gè)),繪制一條從 Person 類指向 Address 類的線段,從而繪制這兩個(gè)類之間的關(guān)系圖。這樣會(huì)調(diào)出另外一個(gè)對(duì)話框,您可以在其中輸入關(guān)聯(lián)屬性(請(qǐng)參考 EclipseUML 幫助,以了解關(guān)于必需信息的更多內(nèi)容)。完成后的圖應(yīng)該類似如下:


    圖 9. 關(guān)聯(lián)

      這個(gè) UML 插件展示了 Eclipse 插件的幾個(gè)典型特點(diǎn)。首先,它展示了工具之間的緊密集成。表面上絕對(duì)無(wú)法看出有多個(gè)組件在工作;與 Eclipse 平臺(tái)和 JDT 的集成是無(wú)縫的。例如,當(dāng) Person 類被創(chuàng)建時(shí),它顯示語(yǔ)法錯(cuò)誤是因?yàn)樗囊粋€(gè)屬性 Address 沒(méi)有定義。一旦 Address 類在 UML 圖中創(chuàng)建完成,這些組件就會(huì)分開(kāi)顯示出來(lái)。

      另一個(gè)特點(diǎn)是 EclipseUML 利用其他插件提供的功能的能力——在此例中是 GEF 插件,它提供用于開(kāi)發(fā)可視化編輯器的工具。

      還有另一個(gè)特點(diǎn)涉及 EclipseUML 插件使用多層次功能來(lái)分發(fā)的方式。支持類圖的基本插件是免費(fèi)的,但是更成熟的版本要付費(fèi)才能使用。

      Eclipse 平臺(tái)體系結(jié)構(gòu)
      Eclipse 平臺(tái)是一個(gè)具有一組強(qiáng)大服務(wù)的框架,這些服務(wù)支持插件,比如 JDT 和插件開(kāi)發(fā)環(huán)境(PDE)。它由幾個(gè)主要的部分構(gòu)成:平臺(tái)運(yùn)行庫(kù)、工作區(qū)、工作臺(tái)、團(tuán)隊(duì)支持和幫助。


    圖 10. Eclipse 平臺(tái)體系結(jié)構(gòu)

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

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

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

      SWT 已被證明是 Eclipse 最具爭(zhēng)議的部分。SWT 比 Swing 或 SWT 更緊密地映射到底層操作系統(tǒng)的本機(jī)圖形功能,這不僅使得 SWT 更快速,而且使得 Java 程序具有更像本機(jī)應(yīng)用程序的外觀和感覺(jué)。使用這個(gè)新的 GUI API可能會(huì)限制 Eclipse 工作臺(tái)的可移植性,不過(guò)針對(duì)大多數(shù)流行操作系統(tǒng)的 SWT 移植版本已經(jīng)可用。

      Eclipse 對(duì) SWT 的使用只會(huì)影響 Eclipse 自身的可移植性——使用 Eclipse 構(gòu)建的任何 Java 應(yīng)用程序都不會(huì)受到影響,除非它們使用 SWT 而不是使用 Swing/AWT。

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

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

      Eclipse 的前景
      圍繞 Eclipse 的開(kāi)發(fā)正處于關(guān)鍵階段。主要軟件工具提供商都參與進(jìn)來(lái)了,并且開(kāi)放源代碼 Eclipse 插件項(xiàng)目的數(shù)量正在與日俱增。

      可移植、可擴(kuò)展、開(kāi)放源代碼的框架并不是個(gè)新思想(您會(huì)想起 Emacs),但是由于它成熟、健壯和優(yōu)雅的設(shè)計(jì),Eclipse 帶來(lái)了全新的動(dòng)力。IBM 價(jià)值 4000 萬(wàn)美元的世界級(jí)軟件在開(kāi)放源代碼領(lǐng)域的發(fā)布,給業(yè)界帶來(lái)了久違的震撼。



    馬嘉楠
    jianan.ma@gmail.com

    posted on 2006-08-11 16:25 馬嘉楠 閱讀(176) 評(píng)論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲成人黄色在线| 97国产免费全部免费观看| 亚洲欧美国产日韩av野草社区| 亚洲色成人中文字幕网站| 日本成人在线免费观看| 最近免费字幕中文大全视频| 两个人www免费高清视频| 黄页网址在线免费观看| 亚洲另类自拍丝袜第五页 | 亚洲.国产.欧美一区二区三区| 精品无码一区二区三区亚洲桃色| 中文字幕亚洲天堂| 亚洲精品色婷婷在线影院| 日韩成人免费aa在线看| 91免费国产自产地址入| 免费无码一区二区三区| 永久在线观看免费视频| 羞羞视频免费网站在线看| 成人午夜免费视频| 国产成人亚洲精品电影| 亚洲国产精品日韩av不卡在线| 亚洲一区二区三区不卡在线播放 | 在线观看免费播放av片| 一级做性色a爰片久久毛片免费| 亚洲AV成人片无码网站| 亚洲av无码日韩av无码网站冲| 亚洲中文字幕乱码一区| 国产成人亚洲精品| 精品日韩99亚洲的在线发布| 亚洲国产成人手机在线电影bd | 午夜视频免费在线观看| 久操免费在线观看| 国产va在线观看免费| 一级做a爰全过程免费视频| 久久黄色免费网站| 67194成手机免费观看| 国产精品视频免费观看| 欧美三级在线电影免费| 在线不卡免费视频| www.91亚洲| 在线A亚洲老鸭窝天堂|