|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。
假如给定一个模子,那末EMF可以主动天生Java源代码-该源码同意你创立、查询、更新、串行化、反串行化、查验和追踪你的模子实例的变更。EMF供应了一组无效的反射API而且同意你用静态的(非天生的)模子举行事情。
1、弁言
Eclipse建模框架(EMF)是一个Java开源框架与代码天生工具-用于基于布局化的模子来构建工具和别的使用程序。在Eclipse平台在用户界面和文件级上供应一个强无力的集成框架的同时,EMF增强了这类才能来完成工具和使用程序之间优秀粒度的数据分享。
相似于别的的Java绑定框架,比方JAXB或XMLBeans,给定一个模子后,EMF就可以够天生Java源代码-它同意你创立、查询、更新、反串行化和串行化你的模子的实例。只管多半Java绑定框架仅撑持一个模子类,比方XML形式,而EMF撑持从XML形式,UML类图(RationalRose或UML2)和被注解的Java接口中天生代码。除模子代码,EMF还能天生一个完全的使用程序-它包含一个可定制的编纂器。
EMF天生的代码有一个内建的改动关照机制而且撑持跨文档参考。EMF供应一个反射API以存取你的模子实例而且同意你静态地创立模子。EMF撑持模子束缚校验。EMF供应强无力的代码天生工具来撑持模子的从头天生和利用用户誊写的代码举行兼并。
在本文中,我们将注释甚么是EMF,并剖析其基础框架。
EMF最入手下手是一个对象办理组的(OMG)元对象设备(MOF)仿单的完成-它为面向对象的剖析和计划供应一个尺度化的元模子。在很长一段工夫以来,EMF被用于完成大批的工具而且因而演化为一个无效的MOFAPI的一个中心子集的Java完成。
在EMF中的类MOF中心元模子(一个模子的模子)被称作Ecore。在对以后的MOF2.0的完成中,有一个相似的MOF模子的子集,称作EssentialMOF(EMOF),它如今已被自力出来。在Ecore和EMOF之间次要存在上些小的出格是定名上的区分,因而EMF能通明地读和写串行化的EMOF,从而同意工具间数据的尺度互换。
明天EMF已被普遍使用。比方,EMF被用于完成开源XML形式Infoset模子(XSD),服务数据对象(SDO),UML2和Eclipse上的Web工具平台(WTP)工程。别的,EMF也被利用在贸易化的产物中,比方OmondoEclipseUML和IBMRational和WebSphere产物等。
2、Ecore和反射API
EMF中的一个关头接口是Eobject,它在观点上等价于java.lang.Object。一切的建模对象,不管是天生的与否,为了供应以下几个主要特性,都要完成这个接口:
·相似Java的Object.getClass(),经由过程利用eClass()办法,你能检索实例的元数据,也就是它的Eclass。
·在任何EMF建模的对象上,你都能利用反射API(eGet(),eSet())来存取它的数据。这在观点上同等于Java的java.lang.reflect.Method.invoke()办法,只管效力更高些。
·从任何实例对象,你都能够经由过程利用eContainer()办法失掉它的容器(parent)。
·EObject也扩大了Notifier,这同意你监督对象的数据的一切变更。
为找到更多关于EMF和Ecore,请读在线概述或购置Eclipse建模框架(EMF)。EMF网站供应了多少文件来形貌怎样利用EMF来从一个XML形式或UML图表天生Java代码。
上面我将形貌一个示例,它利用Ecore来创立一个复杂公司模子,然后利用静态的EMF来创立,串行化和反串行化这个模子的实例。假如你想持续读下往而且你已是一个Eclipse用户,请下载和安装EMF2.1SDK或任何可用的更新的版本,在EMF下载站点。假如不那样,你还能够下载自力包,它包含EMFjar文件,它没有任何对Eclipse的依附性而且能被利用于一个自力的使用程序。
<p>
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。 |
|