GMF学习记录(一) GMF简介
2015-11-02 15:57
113 查看
摘要: 由于工作关系,开始接触Eclipse和GMF(Graphical Modeling Framework),我发现这方面的资料比较少,而且官方的wiki维护的很不好,所以想着把自己学习的一些心得分享一下。
GEF(Graphical Editing Framework)具有典型的MVC结构,可以帮助开发者非常方便的开发基于Eclipse平台的图形化应用程序,模型为基础,控制器负责将模型的改动映射到视图,并将用户在视图上面的操作反馈到模型上。视图方面采用Draw2D框架(http://www.eclipse.org/gef/draw2d/)构建。
GMF(Graphical Modeling Framework)简单来讲就是将EMF和GEF两个框架结合到一起,就是说,实现在EMF构建的模型基础之上,开发GEF应用程序,可以在模型方面大大简化,同时借助Eclipse的插件机制,GMF还有非常丰富的可扩展性,这样更加方便了开发。
上图很清晰地展示了整个构建流程。
首先,建立我们的业务模型,即Domain Model,在该文件中可以定义包、所需要的类、数据类型、属性和方法等元素,框架中提供了一个比较方便的图形化编辑工具来帮助我们定义模型。
接下来根据模型新建*.genmodel(Domain Gen Model),该文件的作用是,解析我们建立的业务模型,生成相应的Java Model类。打开该文件,在根节点右击,选择“generate model”和“generate edit model”,生成*.edit。
然后新建*.gmfgraph(Graphical Def Model),该文件中可以定义在最后生成的应用程序中,画布中出现的元素属性,主要元素包括连接和节点两个类型,可以定义的属性包括,节点和连接的形状、颜色、尺寸等等。
根据model建立*.gmftool 文件,定义可出现的工具选项,包括节点和连接两种 。与graph中的元素对应。
根据业务模型、graph和tool,生成map model,即映射模型。该文件主要是实现了将graph中的元素与tool中的工具项对应起来。
*.gmfmap可以生成*.gmfgen文件,最终由gmfgen生成最终的diagram对应的代码。
注:第一次写博客,语言组织比较差劲,以后会改进,第一篇先大概写一点,后面会通过例子进行介绍,轻喷。
(一)GMF和EMF、GEF的关系
EMF(Eclipse Modeling Framework)是Eclipse平台上很有名的插件项目,帮助我们以模型驱动的方式来开发Eclipse应用程序(这里Eclipse插件和Eclipse应用程序是一致的),简单来讲,就是开发者需要定义一个Ecore模型(和UML极其相似),该框架可以根据定义的模型,生成可以运行在Eclipse平台上的Java代码,最核心的是业务模型的创建。GEF(Graphical Editing Framework)具有典型的MVC结构,可以帮助开发者非常方便的开发基于Eclipse平台的图形化应用程序,模型为基础,控制器负责将模型的改动映射到视图,并将用户在视图上面的操作反馈到模型上。视图方面采用Draw2D框架(http://www.eclipse.org/gef/draw2d/)构建。
GMF(Graphical Modeling Framework)简单来讲就是将EMF和GEF两个框架结合到一起,就是说,实现在EMF构建的模型基础之上,开发GEF应用程序,可以在模型方面大大简化,同时借助Eclipse的插件机制,GMF还有非常丰富的可扩展性,这样更加方便了开发。
(二)GMF开发流程
上图很清晰地展示了整个构建流程。
首先,建立我们的业务模型,即Domain Model,在该文件中可以定义包、所需要的类、数据类型、属性和方法等元素,框架中提供了一个比较方便的图形化编辑工具来帮助我们定义模型。
接下来根据模型新建*.genmodel(Domain Gen Model),该文件的作用是,解析我们建立的业务模型,生成相应的Java Model类。打开该文件,在根节点右击,选择“generate model”和“generate edit model”,生成*.edit。
然后新建*.gmfgraph(Graphical Def Model),该文件中可以定义在最后生成的应用程序中,画布中出现的元素属性,主要元素包括连接和节点两个类型,可以定义的属性包括,节点和连接的形状、颜色、尺寸等等。
根据model建立*.gmftool 文件,定义可出现的工具选项,包括节点和连接两种 。与graph中的元素对应。
根据业务模型、graph和tool,生成map model,即映射模型。该文件主要是实现了将graph中的元素与tool中的工具项对应起来。
*.gmfmap可以生成*.gmfgen文件,最终由gmfgen生成最终的diagram对应的代码。
注:第一次写博客,语言组织比较差劲,以后会改进,第一篇先大概写一点,后面会通过例子进行介绍,轻喷。
相关文章推荐
- MyEclipse Web Project转Eclipse Dynamic Web Project
- Windows Clang开发环境备忘
- 傻瓜式用Eclipse连接MySQL数据库
- 让Flex Builder 3.0与Eclipse3.4整合起来
- Eclipse配置Javascript开发环境图文教程
- 使用zend studio for eclipse不能激活代码提示功能的解决办法
- 图解Eclipse j2ee开发环境的搭建过程
- ext for eclipse插件安装方法
- 解决Fedora14下eclipse进行android开发,ibus提示没有输入窗口的方法详解
- eclipse导入jquery包后报错的解决方法
- Eclipse 格式化代码时不换行与自动换行的实现方法
- Eclipse下jQuery文件报错出现错误提示红叉
- eclipse如何忽略js文件报错(附图)
- eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
- jquery库或JS文件在eclipse下报错问题解决方法
- 什么是eclipse,eclipse的意思解析
- Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
- eclipse+myeclipse 环境配置方法
- 基于eclipse.ini内存设置的问题详解
- java,Android:在eclipse中的快捷键(经典收藏)