Eclipse Modeling Framework和Eclipse Graphical Editing Framework有什么用?

时间:2013-12-16 11:43:41

标签: java eclipse-emf eclipse-gef

可能这个问题很容易,但这让我对他们的目的感到困惑。

探索Eclipse Modeling Frameowrk和Eclipse图形编辑框架。基本上,图形编辑框架(GEF)提供了用于创建可视编辑器的框架。 Eclipse Modeling Framework(EMF)是一个Java框架和代码生成工具,用于构建基于结构化模型的工具和其他应用程序。

在这里,我对两个框架的确切用途和目的有点混淆。在开发任何类型的UI时,我是否需要探索这个框架?

1 个答案:

答案 0 :(得分:3)

从实际角度来看:

  • 您引用的EMF website上的介绍性文字有点误导恕我直言。基本上,EMF允许您(直接)创建(数据)模型,而不是工具/应用程序。例如,我正在开发一个Eclipse RCP应用程序,其中包括一个GEF编辑器,该编辑器基于EMF创建(生成,然后定制)的数据模型。

  • GEF可让您创建图形编辑器。而已。 GEF编辑可以使用不同类型的模型,其中包括EMF模型。看一下GEF book,他们在那里使用普通的Java模型作为他们的示例应用程序。在GEF中,您必须手动编写编辑器代码。

  • 要完成首字母缩略词bingo,有GMF,它允许您从EMF模型生成图形编辑器(而不是GEF,您必须步行完成) 。 GMF可以被称为EMF(模型)和GEF(图形编辑器)之间缺失的链接,但是开始并不容易。 GMF的替代方法是Graphiti,它提供了一个Java API,可以根据EMF模型轻松开发图形编辑器。

回答你的评论:你无法用GEF开发模型,你必须使用EMF。 GEF建立在模型之上(不仅仅是EMF模型)。它在MVC中提供V(View)*和C(Controller),EMF可用于提供M(模型)。

*超出范围:GEF也使用Draw2D作为数字。