插件片段和功能部件
[參考:http://www.uml.org.cn/zjjs/zjjs24.htm]
[參考:http://www-900.ibm.com/developerWorks/cn/linux/opensource/os-ecfeat/index.shtml]
Eclipse 由插件組成,但在開發 Eclipse 的插件時,還要慎重考慮另外兩個級別的組件 — 插件片段和功能部件。
插件片段(如名稱所暗示的)是完整插件的組成部分 —
目標插件。片段提供的功能與目標插件的功能合并。片段可以用于將插件本地化成各種語言;在無需形成一個全新發行版的情況下,以增量形式將功能部件添加到現
有插件,或者提供特定于平臺的功能。在許多方面,片段與插件一樣。主要的區別就是片段沒有插件類 —
片段的生命周期由其目標插件管理。此外,片段的清單文件叫作 fragment.xml,它列出了目標插件的標識和版本號,以及片段的標識和版本號。
另一方面,插件功能部件根本不包含編碼。在 Eclipse 體系結構術語中,功能部件是將一組相關插件打包到完整的產品中。例如,JDT 是包含了象
Java 編輯器、調試器和控制臺這樣的插件的功能部件。名為 feature.xml
的清單文件描述了一個功能部件歸檔文件。在其中,該清單文件包含了對該功能部件所包含的插件和其它資源的引用、關于如何更新該功能部件的信息、版權信息和
許可證信息。
如果沒有功能部件,插件是難以駕馭的,通俗地說,不屬于功能部件的插件是未被管理的插件。Eclipse
平臺的啟動過程包括一個配置的步驟。如果一個新的插件被拷貝到 \plugins 目錄,或者以其他方式使 Eclipse
在啟動的時候可以找到,配置過程會發現它,但只是通過將新插件的 splash 圖標閃爍兩次來通知您。Eclipse
之所以會發現新的插件,是因為存貯在 \.metadate\.config\platform
中的當前工作區的配置校驗和發生了變化;由于您沒有向平臺提供一個可以引導用戶做出配置修改的功能部件,Eclipse 也只能是通過
splash-flash 來提示這一變化。將您的插件打包為一個(或兩個)功能部件,您將獲得如下好處:
* 在 Eclipse 的配置過程中列出您的組件(在 feature.xml 文件中)所要求的先決條件
* 使您的組件可以作為 Eclipse 配置的活動部分來管理
* 創建標記信息,讓使用那些使用運行期環境的用戶可以識別您的組件,并通過一個歡迎頁面來告知用戶您的功能部件所提供的功能(在關聯到您的功能部件的 welcome.xml 文件中)
* 用 Eclipse 更新管理器可以對您的組件進行修改
不要等到您的插件開發完成后再打包為功能部件。反映在功能部件定義中的設計結果會影響您如何構建您的插件。例如,大多數的 Eclipse 組件都有
UI 功能部件和核心(不是
UI)功能部件。如果您的插件沒有按這種方法進行劃分,您可能會馬上考慮重新設計它們。功能部件也可以用來自動編譯處理被引用的插件。
posted on 2005-03-30 18:11
Brian Sun 閱讀(2250)
評論(11) 編輯 收藏 所屬分類:
軟件