Eclipse的体系结构.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Eclipse的体系结构

22.1 Eclipse的体系结构 刚刚开始学习Eclipse的时候,也就是早在第一章,我们就对Eclipse的发展有所了解了,我们知道,Eclipse平台是IBM捐赠给开发源码社区的一个开发框架,从它出现到现在,逐步发展,名声越来越大。它之所以这么有名,并不是因为IBM财大气粗,投入了4千万美元开发此项目,也不是因为IBM的影响力和名气,而是因为Eclipse确实是优秀的、烈火练就真金。Eclipse平台是一个成熟的、精心设计的并且可扩展的体系结构。其中,最重要的还属可扩展的体系结构,该结构的设计使得Eclipse可以提供一个可扩展的集成开发环境平台。 Eclipse平台提供了一个展示自我风采的舞台,在这个舞台上,任何的工具都可以运行,展示自我。当然说任何也不确切。Eclipse平台为工具提供商提供了一套使用和需要遵循的机制,只有符合这些使用和应该遵循的机制的工具才可以在该平台上如鱼得水,实现无缝地集成。这些机制主要表现为经过明确定义的API、接口、类和方法。另外,平台还提供一些有用的构建模块和框架,在这些模块和框架基础上,可以让我们开发出新的工具。那么Eclipse平台上都有些什么呢?下面的Eclipse架构图就给除了我们非常好的回答,该图显示了Eclipse平台的主要部件以及API,如图22.1 图22.1 接下来,我们将对这个架构主要组成部分进行剖析,具体看看各个部分的功能和作用。 22.1.1 平台运行时系统(Platform Runtime) Eclipse的“万物皆插件”的思想,我们已经领教过了。在Eclipse中,从功能上来分,一个插件(plugin)是Eclipse平台中的最小单元,也是可以被独立开发和发布的单位。通常,一个小的工具可能只需要用一个插件来实现,但是对于一个复杂的工具,需要将它的功能分割成多个小的功能单元,也就是说它需要由几个插件来实现。开发这些个工具的时候,所有的Eclipse平台的功能都位于插件中。但是只有这些,开发的出来的工具还不能够运行,它还需要一个很小的内核,这个内核就是所谓的平台运行时系统(Platform Runtime)。从字面上来看,它是开发出来的工具运行时需要的运行环境,就像在图22.1描述的一样,平台运行时系统处在架构的最底层,是其他的插件或者工具运行的基础。在后面的开发中,我们更能体会到这一点。每次运行一个开发出来的插件,都需要重新启动一个Eclipse实例,其实也就是在运行平台运行时系统。 22.1.2 Eclipse的插件架构 Eclipse中的插件是怎样一种架构呢?在正式学习开发之前,我觉得很有必要跟大家先来了解一下Eclipse的插件架构。当然,Eclipse中的插件是用Java语言编写出来的,所以,插件也就具有和Java语言相同的特性。一个典型的插件主要由以下部分组成:JAR中的Java代码、一些只读文件以及其它资源(如:图片、web模板、消息资源文件、本地类库等等)。但是有一些插件可以不包含任何代码。一个插件的代码及只读文件位于文件系统中的一个目录里,或位于服务器的根目录下。这种机制为插件的国际化提供了便利。 每个插件都对应一个插件清单,通过这个清单,可以看出该插件和其它插件之间的连接关系。这种连接模型很简单的,理论上来讲,一个插件可以定义任意数量的扩展点,而且,可以定义任意数量的扩展,实现对其它插件中的扩展点的扩展。可以见得,插件和插件之间的连接是比较灵活的。 当一个插件开发完毕,它就可以运行了。当启动时,Eclipse平台运行时系统会检索并发现可以使用的插件集合,读取它们的清单文件,并且在内存中建立一个插件注册表。Eclipse平台通过名称来匹配扩展和对应的扩展点的声明。如果出现问题的话,会被检测到,而且,将检测的问题写入日志。 以上,就是对Eclipse的插件架构的概述,这里,只需要对Eclipse的插件架构有个大体的了解,在以后的学习过程中,大家结合例子,再来深入地体会。 22.1.3 可扩展和集成 从图22.1中可以看出,Workbench 组件是Eclipse平台一个重要组成部分,它包含了一些扩展点,例如,我们可以用插件来扩展Eclipse用户界面,可以让这些用户界面上有菜单选择和工具栏按钮等部分;也可以请求不同类型事件的通知;当然也能够创建新视图。Workspace 组件包含了可以让我们与资源(包括项目和文件等)进行灵活交互的扩展点。 当然,Workspace等其他组件也提供了一些扩展点。对于不同的插件,只要将它安装在合适的扩展点,它就能够实现对Eclipse的扩展。所以说Eclipse平台是可扩展的。 采用Eclipse平台提供的API以Java语言规范开发出来的工具可以和平台之间实现最高层次的集成。但是,还有另外一个极端的情况:当我们从平台

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档