可能这个问题很容易,但这让我对他们的目的感到困惑。
探索Eclipse Modeling Frameowrk和Eclipse图形编辑框架。基本上,图形编辑框架(GEF)提供了用于创建可视编辑器的框架。 Eclipse Modeling Framework(EMF)是一个Java框架和代码生成工具,用于构建基于结构化模型的工具和其他应用程序。
在这里,我对两个框架的确切用途和目的有点混淆。在开发任何类型的UI时,我是否需要探索这个框架?
答案 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作为数字。