(转)Eclipse平台技术概述

转载:周金根 http://zhoujg.blog.51cto.com/1281471/516833
 Eclipse:Eclipse平台技术概述
2010-10-19 13:35:00
标签:Eclipse 休闲 职场
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zhoujg.blog.51cto.com/1281471/516833

OpenExpressApp make business engineers develop applications中说过先考虑使用EMF先实现一个TOGAF9的建模工具来综合的了解建模更方面的知识,然后再做评估是自己开发还是采用开源产品来做OpenExpressApp的建模支持。

  MEF是Eclipse的一个开源项目,它是建立在Eclipse平台之上的,而我之前没有真正使用过Eclipse来做开发,也没有在JAVA领域中开发过,所以在学习EMF之前我首先要大概的了解一下Eclipse平台技术,以下是我参考http://www.eclipse.org/whitepapers/eclipse-overview.pdf文档内容学习到对Eclipse平台技术的一个概述了解,如果你是Eclipse新手,也想MEF等建模开源项目的使用,那么就关注我这个系列吧!可能我的理解是错误的,也可能我的学习资料是旧的,如果你已经非常了解又看到这个系列了,希望你能指出我的错误和提供你的帮助:)

Eclipse平台架构

运行时和插件(Platform Runtime and Plug-in Architecture)

  • 插件是一个Eclipse平台的小功能,它可以单独开发和发布。
  • 通常一个小工具可以是一个插件,但是复杂的工具可能由多个插件组成。除了小的内核Platform Runtime,Eclipse平台的所有功能都是有插件实现的。
  • 插件是由Java编写的代码,一个典型的插件包含一个JAR类库代码,一些只读的文件和一些图片、Web模板、消息目录、本机代码库等资源文件,而有些插件甚至都不包含代码。
  • 一个简单的插件代码库和只读内容被放在同一个目录下或者服务器的一个基准URL下,还有一种机制允许插件由多个不同分布区域(每个部分由自己的目录或者URL)组合而成,这种机制可以用来分发国际化语言包插件。
  • 3.0之前每个插件有一个清单(manifest)文件,这个文件声明了它与其他插件的关系,这个关系比较简单:一个插件定义了一些提供的扩展点(extension points)和一些实现其他插件扩展点的扩展(extensions)。插件的扩展点可以有其他插件扩展功能。现在插件建立在OSGI标准之上,OSGi bundle清单文件为META-INF/MANIFEST.MF。
  • 启动时,Platform Runtime发现一些可以使用的插件,读取它们的清单文件,构建一个内存表现的插件注册表。平台通过相应的扩展点声明进行匹配,任何错误都被检查出来并记录日志中。插件在启动后就不允许再动态添加了。
  • Eclipse平台的更新管理器下载和安装新功能或者现有功能的更新版本(一个功能是一组一起安装和更新的相关插件)。更新管理器会生成一个可用插件的一个配置文件,以便平台启动时使用。如果更新有不满意时,用户还可以回滚近期的配置。
  • 示例:Command扩展

工作区(Workspaces)

  工作区用作workspac eclips 用作项目的缺省内容区,还用于保存任何必需的元数据。工作区包括一个或多个顶级项目,不同的项目可以处在不同的系统目录,但是缺省处在同一个目录下。

SWT

    

   由于JAVA可以在不同操作系统上运行,之前的UI控件只有各种操作系统的最小集。JAVA AWT提供一些低级别的控件,例如列表、文本框、按钮,但是

没有高级别控件,例如树、rich text等。JAVA Swing提供了一些树、表等控件解决AWT的问题,但是这些控件仍旧不能满足UI需求。

  SWT通过定义一套通用的API来解决这个问题,支持不同的操作系统,它是一个窗口构件集和图形库,它集成于本机操作系统提供的GUI API。

 

JFace

  JFace是建立在SWT之上的UI部件,是Eclipse组织为了开发Eclipse IDE环境所编写的一组底层图形界面 API,其底层实现为SWT。它扩展了 SWT并能与 SWT 交互操作。JFace工具箱提供了一组功能强大的用户界面组件,例如图形、对话框、向导等,开发人员可以轻松地在独立应用程序中利用这些组件,以简化常见的UI编程任务。JFace在其API和实现方面都是独立于窗口系统的,它旨在使用SWT而不隐藏它。

工作台(Workbench)

  一个工作台窗口包括一些视图(Views)和编辑器(editors)。编辑器允许用户打开、编辑和保存对象,这些操作与工作台紧密结合。视图可以辅助编辑器,提供信息。

透视图(Perspectives)组合它们并布局在屏幕上,每个透视图有自己的视图和编辑器。工作台可以有多个独立的透视图,但只能有一个是激活的,可以通过切换查看不同透视图。
工作台提供了一些主要的扩展点:

  • 添加新的编辑器
  • 添加新的视图
  • 添加新的透视图

  我们还可以增强现有编辑器、视图和透视图的功能:

  • 在现有的视图菜单和工具条中增加动作
  • 当编辑器激活时再工作台目录和工具中增加动作
  • 在现有视图和编辑器的弹出菜单增加动作
  • 在现有透视图中增加视图、动作集和快捷方式

UI集成(New Tool)

  使用平台API写的代码可以与平台获得高级别的集成,Eclipse支持以下几种UI集成:

  • 工作台内建支持OLE文档作为编辑器(只限Window操作系统),这可以提供更紧密的UI集成
  • 插件工具可以在编辑器、视图、窗口或向导中使用ActiveX控件(只限Window操作系统)
  • 插件可以使用AWT或Swing

团队支持(Team)

对工作区的项目进行配置管理,可以添加从库获取文件、更新文件或者比较不同版本文件等功能。平台提供扩展点,允许使用新的团队资源库。

帮助(Help)

Eclipse帮助机制允许同居定义和发布一个或多个在线文档,是一个可扩展的文档系统。

JDT(Java Development Tooling):增加JAVA开发能力

  •  Workbench showing Java perspective

  • JDT Implementation

转载于:https://www.cnblogs.com/panweishadow/p/3545578.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php post调用api,PHP(CURL)POST数据调用API简单示例

/***一个完整的POST调用API的过程 百度知道*author: bo.xiao*/$url ‘http://zhidao.chanjet.com/restserver/zhidao’;$data array(‘api_key’>’3qQ2Edm62Vd4bAVCwNoxgn0l’,‘method’>’baidu.zhidao.getQuestionList’,‘call_id’>’1308713190’,‘cid’>…

【重温经典算法之二】快速排序

快速排序的思想与归并排序思想类似,都是采用分治法的思想。将一个数组A[l...r]使用快速排序可以分解为三个主要的步骤: 通过随机算法获得数组A中的一个下标k,将A[k]与A[r]交换。将数组分解成左右两个数组,左边数组的值均小于A[r]&…

用随机数发生器射击自己的脚

这将不是说明随机数生成器毕竟不是那么随机的文章之一。 因此,您中的那些人希望获得有关如何破解老虎机,继续前进的指南,在这里什么也看不到。 相反,它是有关一个不太常见的锁争用问题的帖子,该问题隐藏在Java API的随…

谈谈你对php的收获和不足,我的收获与不足

在我们的生活中,会经历很多不同的事情。有些是如流水般奔流向海;有些是如云烟一般消散;有些是能够像年轮般随时间流逝,一圈一圈留在那里,却始终浮现在于脑海,因为她曾经一次一次叮呤着你--“知不足才能自强…

cocos2dx

http://blog.csdn.net/iamlazybone/article/details/19046377 转载于:https://www.cnblogs.com/sgdkg/p/3548017.html

带有光纤的可扩展,健壮和标准的Java Web服务

这篇博客文章讨论了负载下的基准Web服务性能。 要了解有关Web服务性能理论的更多信息,请阅读利特尔定律,可伸缩性和容错 。 使用阻塞和异步IO对Web服务进行基准测试 Web应用程序(或Web服务)如何在负载下,面对各种故障…

转document.documentElement和document.body的区别

网页中获取滚动条卷去部分的高度&#xff0c;可以通过 document.body.scrollTop 来获取&#xff0c;比如使div跟着滚动条滚动&#xff1a; 转至:http://www.cnblogs.com/ckmouse/archive/2012/01/30/2332070.html <div id"div" style"width:100px;height:100…

php js 图片旋转,jQuery实现可以控制图片旋转角度效果

本文实例讲述了jQuery实现可以控制图片旋转角度效果。分享给大家供大家参考&#xff0c;具体如下&#xff1a;运行效果截图如下&#xff1a;具体代码如下&#xff1a;/p>"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">img { margin-top:100px; m…

【ARDUINO】HC-05蓝牙不配对问题

除了刷主从之外&#xff0c;不配对的原因有1&#xff1a;已经配对其他设备&#xff0c;需用ATRMAAD来移除。2、默认为蓝牙由绑定指令设置&#xff0c;需改为任意地址连接模式ATCMODE1 //#define AT 2 #define LED 12 void setup() {pinMode(LED,OUTPUT);//pinMode(AT,OUTPUT);S…

php 选股器,RSI切线突破选股指标(TDX)..

本帖最后由 yinchoo 于 2009-7-25 09:10 编辑1、对于RSI指标的运用请查坛中伟哥、井中月、cqcsshw 、九阳 等高手的贴子&#xff1a;http://www.stockwei.com/viewthread.php?tid36200&highlightRSIhttp://www.stockwei.com/viewthread.php?tid36267&highlightRSIhtt…

中等数学类杂志投稿信箱

《中国数学教育》jcme_g163.com(高中版) 《数学教学》sxjxzzmath.ecnu.edu.cn 《中学数学》hbzxsx126.com&#xff08;高中&#xff09; 《数学通讯(教师版)》shxtxjshyahoo.com.cn 《数学通讯(学生版)》shxtxxuesh163.com 《数学传播》mediamath.sinica.edu.tw 《中学教研&…

卡方检验法+matlab,【T】显著性检验(2)—卡方检验法

该博文已整理到新地址&#xff1a;记数数据统计法在各个研究领域中&#xff0c;有些研究问题只能划分为不同性质的类别&#xff0c;各类别没有量的联系。例如&#xff0c;性别分男女&#xff0c;职业分为公务员、教师、工人、……&#xff0c;教师职称又分为教授、副教授、………

【OAuth】快速入门

一、引言 1、什么是OAuth2.0&#xff1f; OAuth 2.0是一个关于授权的开放网络协议&#xff0c;允许用户授权第三方应用访问其在服务提供商上存储的资源&#xff08;如照片、视频、联系人列表&#xff09;&#xff0c;而无需将用户名和密码提供给第三方应用。OAuth 2.0在第三方应…

脚本解决.NET MVC按钮重复提交问题

见于&#xff1a;Avoiding Duplicate form submission in Asp.net MVC by clicking submit twice 脚本代码&#xff1a; $(document).on(invalid-form.validate, form, function () {var button $(this).find(input[type"submit"]);setTimeout(function () {button.…

== 与 === 介绍与区别

操作符&#xff1a; 要是两个值类型不同&#xff0c;返回false 要是两个值都是number类型&#xff0c;并且数值相同&#xff0c;返回true 要是两个值都是stirng&#xff0c;并且两个值的String内容相同&#xff0c;返回true 要是两个值都是true或者都是false&#xff0c;返回tr…

jert oracle 统计说明,Oracle JET简单入门(一)Oracle JET介绍

Oracle JET (Oracle Javascript Extension Toolkit)是一款 Oracle 的 JavaScript 拓展工具包。简单来说 Oracle JET 是一个一堆好用的前端工具结合体。Oracle JET 文档链接 http://docs.oracle.com/middleware/jet310/jet/developer/toc.htmOracle JET支持 Model-View-ViewMod…

Why you have so few friends?

Why you have so few friends?十个原因告诉你&#xff1a;为什么你的朋友那么少1. You Complain A Lot 你总是抱怨 If you’re constantly complaining about your job, lack of money, or unfair life, people won’t care to spend a lot of time with you. Complaining g…

查看oracle自动优化,使用索引查询更快,优化器为何不能自动识别

本帖最后由 〇〇 于 2015-12-24 12:17 编辑有如下查询&#xff0c;不加hint时&#xff0c;优化器自己选择的执行计划是走全表扫描&#xff0c;花费时间很长&#xff0c;但加hint强制让大表走skip index时间很短&#xff0c;根据传统的理解&#xff0c;引导列上重复出现的值越少…

javascript: 数组

var a[1,2,3] >a[0] 1 >a[1] 2 >a[2] 3 >a[3] undefined >a[-1] undefined for循环遍历每个元素 for(var key in a){console.log(a[key]);} 1 2 3 数组对象对应的方法(method) >a.length//数组元素个数 3>a.push(4)//在数组最后追加元素4>a[1, 2, 3, 4…

SELECT语句使用JDBC和Hibernate批量获取

介绍 现在&#xff0c;我已经介绍了Hibernate对INSERT &#xff0c; UPDATE和DELETE语句的批处理支持&#xff0c;是时候分析SELECT语句结果集的批量提取了。 JDBC ResultSet提供了一个客户端代理游标&#xff0c;用于获取当前语句的返回数据。 执行该语句后&#xff0c;必须将…