插件体系结构.pdf

插件体系结构.pdf

ID:51094221

大小:314.64 KB

页数:7页

时间:2020-03-18

插件体系结构.pdf_第1页
插件体系结构.pdf_第2页
插件体系结构.pdf_第3页
插件体系结构.pdf_第4页
插件体系结构.pdf_第5页
资源描述:

《插件体系结构.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、插件体系结构文/陈刚引言大部份人最初对插件的感性认识应该是从MP3播放软件winamp中的各种皮肤和音效插件开始的吧。插件虽非什么新鲜事物,但在过去,插件开发还是很少有人去涉及的。一般来说,软件的插件开发大都面向内部开发人员开放,并且需要对该软件的构架相当的熟悉,才有能力开发一个插件。而像winamp,虽然可以让第三方来制作插件,但所做的插件对原软件的扩展也仅局限某些特定领域,比如音效、界面风格等。以前比较常用的是分层式体系结构,比如Linux、TCP/IP。然而现在软件的生命周期越来越短、对软件功能的要求越

2、来越强、需求变化也越来越快,一个软件的可扩展性,将很大程度决定了该软件的生命力。因此随着时间的推移,具有高可扩展性的插件体系结构也开始慢慢成熟起来,在Java界的Eclipse、NetBeans等,都是采用了插件体系结构的设计。由于Eclipse的巨大成功,使其成为了插件体系结构的典范之作,并且广为人知。Eclipse带动了插件概念的普及,随着插件功能的不断拓展,插件的应用范围也越来越广,开发插件也逐渐的兴盛起来。本文就将以Eclipse作为案例来介绍一下插件体系结构Eclipse简介很多人都把Eclipse

3、看做是象JBuilder一样的Java开发工具,但Eclipse的设计目标不仅仅是成为单一的Java开发工具,而是成为一个通用工具平台。对于Eclipse来说,它不仅是可以用来开发JAVA程序,只要装上相关插件(比如C++插件),Eclipse也可以成为于其他编程语言的开发工具。从这个意义上来说,Eclipse的最终竞争对手是微软的VisualStudio,而非仅仅JBuilder。此外,由于Eclipse的插件体系设计得非常完善,所以不仅可以开发工具类的插件,也可以开发应用类软件的插件,这一点还有是不太广为

4、人知的。从功能上来说,Eclipse插件完全能够实现一个像OA办公系统或PhotoShop的软件,下图所示的“学生成绩信息管理系统”就是一个Eclipse插件。在Eclipse2.0的时候,插件还是只能附在原Eclipse的基础上来运行。这对于想用插件方式来开发应用系统的用户来说,会有两个不足之处:(1)客户在使用软件之前必须先运行Eclipse。(2)Eclipse原来的菜单、按钮无法完全隐藏。Eclipse的开发团队注意到了这个问题。在Eclipse3.0之后,将其平台运行环境做了完全的剥离,形成了一个称

5、为RCP的运行平台。RCP的英文全称叫RichClientPlatform(注意不是Program),也叫胖客户端平台。通过RCP方式,所开发的应用软件的运行环境就只需要几个插件包支持即可,而不用下载几十M的Eclipse。并且Eclipse的原菜单、按钮可以被完全隐藏掉,让你所开发的更象一个独立的软件。Eclipse的扩展在Eclipse集成环境中的各部份都是可插入、可扩展的,下面就罗列一些Eclipse中最常用的可插入、扩展的地方。1、主菜单、工具栏、透视图、视图、编辑器2、Eclipse的首选项(主菜单

6、“窗口->首选项”)3、帮助(主菜单“帮助->帮助内容”)4、弹出式的快捷帮助(焦点定于某部位,按F1弹出相关帮助信息)以上界面看似复杂,但因为插件是基于原Eclipse扩展的,所以实际的界面代码量极少而且界面构建简单,这一点相对传统JAVA胖客户端应用程序的优点很明显。像Eclipse中的视图、编辑窗、停泊窗这些界面如果用传统方式来开发会很麻烦,但用Eclipse插件来实现,则不费吹灰之力。因此Eclipse插件的开发方式特别适合对界面要求比较高的项目。Eclipse的插件体系结构1、总体结构Eclipse

7、平台是一个开放式插件体系结构,它提供了一些自身的扩展点来给其他插件做扩展。并且Eclipse平台负责管理这些插件的运行,这样开发者可以只专注开发自己的插件,而不用去关心如何在运行时和其他插件进行配合。Eclipse的体系结构如下图所示:SWT/JFace是Eclipse的图形API包,它和JAVA的AWT/SWING的作用是一样的,实际上我认为它总体上要比AWT/SWING优秀。为什么Eclipse界面要比普通的JAVA程序漂亮,就是因为它有基于一个全新设计的图形API包――SWT/JFace。所以要在Ecl

8、ipse上开发插件,首先必须了解SWT/JFace。最底层的“运行时内核Runtime”是整个Eclipse插件的核心引擎。这是一个非常小的内核,也称为“微内核”(Micro-Kernel),其他部份(如SWT/JFace)都是以插件的形式附加在上面。这是现在很流行的体系结构设计:微内核+扩展(如下图所示)。在Eclipse中,由org.eclipse.osgi、org.eclipse.core.r

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。