插件片段和功能部件
[参考: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 阅读(2243)
评论(11) 编辑 收藏 所属分类:
软件