.EMF & GEF 介绍
emf 与gef 都是eclipse 的tools 项目,成立目标分别是:
1.在eclipse 中使用emf 对系统建模,如数据库模型;网络连接模型,甚至包括界面显示模型(JAVA 的事件模型),通过建模可导出xml 文档,在建模时通过jdt 可时时修改模型对应的代码。emf 并非是单纯的UML 设计工具。
gef 图形编辑平台,eclipse 这个平台许多地方需要使用gef 的jar,早期的eclipse 和gef 可
以说是密不可分。IBM 花大力气从eclipse 中抽取出gef,SWT(标准部件工具集)上的界面图形
设计,离不开draw2D,这个东东是swt 中java2D,如果程序中只是要求画出某个图象draw2D
就能胜任,但若要求画出的图形支持这种那种的功能,那就非选择gef 不可了,因为在draw2D
中创建图象的方法要求提供的参数类型源于gef,两者依赖性很大。用了gef 你可以做到的功能。。
一时说不清楚,看看eclipse,jbuilder,Rose 里的图形界面功能,gef 都能实现。
这里详细的介绍一下gef 吧,主要是以后平台肯定用到其功能。gef 可以说是严格按MVC 要
求实现的平台。
模型:模型方面在gef 中是薄弱环节,一般通过与emf 配套使用。
控制器:它是模型与视图的桥梁,这个东西在gef 中的实现叫做编辑单元,每一个模型对象及
对应一个编辑单元通过触发属性改变事件,通知到视图。视图的改变也能通知到模型。
在控制器(编辑单元)“安装”图形策略,安装可以让策略最大层度的复用,策略用策略工厂生
成,这个工厂的生成与维护由一个domain 去管理,模型改变通知视图,不像以前单纯的使用
event,而是不同的事件生成不同的request 这些request 大量运用command 设计模式。
这是网上一牛人做基于emf 开发的,一个字爽。
总结一下,选择使用eclipse,就会使用到swt,使用到了swt,就会用到draw2D,用了draw2D
你不想用gef 都不行了。使用gef 的前提条件很高,要求开发人员在使用之前务必了解eclipse 的插件机制。当然还有以上提到的这些。
zz什么是GEF和EMF
最新推荐文章于 2022-06-10 20:19:19 发布