2011-06-19 46 views
6

我很抱歉,这看起来可能太简单了,但我对Eclipse Modeling Framework的含义模糊不清?什么是Eclipse建模框架?

基于他们的网站,它基于XML规范生成Java代码。
我不知道它是否像Visual Paradigm? 它是否生成其他语言(如PHP)的代码或仅用于Java?

谢谢。

回答

6

EMF是一个框架,可以采用模型(如.ecore文件中所述)并生成可与EMF一起使用的支持Java文件,以构建,加载,操作和保存该模型的实例。

这意味着您在编写Java应用程序时需要使用EMF,并且需要操作模型(语言的抽象语法树,可以通过视图显示的模型,需要操作的域等)。

有很多建模项目,它们增加了对越来越多功能的支持,但其中大部分都基于EMF。

3

基本上,EMF是开发模型驱动开发(MDD)工具的框架。

您将感兴趣的工具在Model To Text (M2T)部分。使用像JET这样的工具,您可以使用任何您想要的语言生成包含逻辑的业务对象,而不仅仅是简单的DTO。您可以从您自己定义的域特定语言(DSL)(通常以XML格式)或标准建模语言(UMLEncore)生成代码。

当您选择建模语言时,可以使用图形工具构建模型(GMF)。另外,EMF拥有您所期望的验证/翻译工具。

已经尝试了几种代码生成工具,我可以说这是一个有价值的实验。但是,它需要大量投资才能学习,并使您面临依赖于某个特定工具的风险。如果你发现自己想要一个代码生成工具,也可以考虑你可能有一个language smell或没有重构足够的重复。