Eclipse的架构 .

来源:互联网 发布:手机数据丢失如何恢复 编辑:程序博客网 时间:2024/05/18 13:07

Eclipse简介

Eclipse的优秀源于其优良的体系结构,由一个微小核心及众多插件组成

Eclipse设计之初是要通过其特有的插件开发结构,开发插件使其支持任何语言的开发,甚至成为绘图工具。基于Eclipse核心只要开发插件,就可以让Eclipse做任何事情

Eclipse体系结构的核心是动态发现插件,Eclipse有一个很小的核心(Platform Runtime)和大量建立在核心之上的插件组成,核心本身是负责基本环境的后台处理工作和提供标准的用户导航模型,而插件专注于自身任务的除了。

理解eclipse插件关键在理解Eclispse扩展点,每一个插件都是先有扩展点的基础上开发的,当插件想扩展点添加实现时就任务向其平台添加了扩展,这个扩展点在Eclipse中添加新功能,扩展机制是将功能添加到平台和其他插件的唯一方法,就创建一个扩展。此外扩展还可以创建自己的扩展点。这种插件模式的扩展是递归的,被证明十分灵活。

一个小的工具可能只需要用一个插件来实现,但对于一个复杂的工具,需要将它的功能分割成多个小的功能单元,需要多个插件来实现。

插件运行方式是动态的,即在真正使用到这个插件的时候,这个插件才被调入内存,而当插件不再被使用时候,会在恰当的时候被清理出内存。因此不必担心插件安装增加Eclipse运行时占用内存。

 

 

JDT是提高了用于边界,查看,编译,调试和运行java代码等功能的专门插件,是Eclipse的自带插件

PDE构建于Elcipse平台和JDT之上,提高了专门开发插件的工具

其他插件,扩展Elipse功能,例如ajax开发插件,UML插件等

 

Platform Runtime:负责所有已安装插件的发现和启动。;并创建关于插件的注册信息,内核在实际需要某种插件时候才加载该插件,除了内核外,其他每样东西都是作为插件来实现的,内核用扩展点来支持开发者添加其他文件类型,并且提供对定制安装的支持,插件使用描述清单向系统描述自身

Workspace:工作空间负责管理用户资源的插件,这些资源包括用户创建的项目和其中的文件,以及文件变更和其他资源,工作空间还负责通知其他插件关于资源变更的信息,如文件创建,删除和变更。

WorkBench:工作台为Eclipse提供用户操作各种工具的界面,其目标是通过创建,管理和导航“工作台”资源提供公共范例来获得无缝的工具集成。他是使用SWT和一个更加高级的api JFace 来构建的,SWT 是java的Swing/awt GUI的非标准替代者,Jface则是建立在SWT集成上提供用户界面组件。

sWT比Swing更加紧密的映射到底层操作系统的本机图形功能,不仅使SWT更加快速,而且使得java程序具有更像本机应用程序的外观和感觉,使用这个新的GUI api可能会限制Eclipse工作台的可移植性,不过针对大多数操作系统的SWT移植版本都可以使用

Eclipse对SWT的使用只会影响Eclipse本身的可移植性,使用Eclipse构建的任何java应用程序都不会受影响。除非他们使用SWT而不是Swing/AWT

 

Team: 团队支持组件负责提供版本控制和配置管理支持,它根据需要添加视图,使得用户可以与其所使用的任何版本控制系统交互,大多数插件都不需要与team组件交互,除非插件提供版本控制服务。

小组开发的支持与工作台之间实现了无缝集成,Eclipse中提供了支持小组开发的透视图以及各种版本和配置管理的透视图

 

Help:帮助组件具有与Eclipse平台本身相当的可扩展功能,与插件想eclipse添加功能相同,帮助提供一个附加的导航结构,允许工具以html文件的形式添加文档

 

Eclipse良好的体系结构非常值得借鉴

 

 

Eclipse和其他IDE的比较

Eclipse VS NetBean

同:语法检验,代码完成,代码合并,编译,运行,调试代码,ant,cvs和junit支持

      Gui生成器(eclipse的是一个单独组件Visual Editor 需要单独下载)

异:NB有集成web开发支持,Eclipse无

       Eclipse有自动化重构,NB无

      Eclipse更快更稳定

总结:两种都可扩展,都可以使用插件

 

Eclipse VS JBuilder

异:JB不是免费的

       开发Swing或EJB,Eclipse不具备JB的可视化操作的快捷方便(如Bean的基本开发,底层XML配置,处理不同的EJB服务器的差异)

 

 

原创粉丝点击