也许这个问题很简单,但使我对其目的有些困惑。

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

在这里,我对这两个框架的确切用途和目的感到有些困惑。开发任何类型的UI时都需要同时探索两个框架吗?

最佳答案

从实际的角度来看:


您引用的EMF website上的介绍性文字有点误导恕我直言。基本上,EMF允许您创建(数据)模型,而不是(直接)工具/应用程序。例如,我正在开发一个包含GEF编辑器的Eclipse RCP应用程序,该编辑器基于由EMF创建(生成,然后定制)的数据模型。
GEF使您可以创建图形编辑器。而已。 GEF编辑器可以处理各种模型,其中包括EMF模型。看看GEF book,他们在其中为示例应用程序使用纯Java模型。在GEF中,您必须手动对编辑器进行编码。
要完成首字母缩略词宾果游戏,请使用GMF,它使您可以从EMF模型生成图形编辑器(与之相反,GEF则需要您手动进行)。 GMF可以称为EMF(模型)和GEF(图形编辑器)之间的缺失链接,但是上手并不容易。 Gaa的替代方法是Graphiti,它提供了Java API,可轻松开发基于EMF模型的图形编辑器。


并回答您的评论:您无法使用GEF开发模型,因此必须使用EMF。 GEF建立在模型之上(不仅仅是EMF模型)。它在MVC中提供V(视图)*和C(控制器),EMF可用于提供M(模型)。

*超出范围:GEF也将Draw2D用于图形。

关于java - Eclipse Modeling Framework和Eclipse Graphical Editing Framework的用途是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20610120/

10-10 05:50