什麼是EMF?
EMF (Eclipse Modeling Framework) 是基於Eclipse的模型化框架。
為什麼要使用EMF?
首要原因是EMF提供了非常清晰,可維護性很強的一套模型化方案和工具,通過定義meta model,可以自動生成實際模型(實際模型可以理解為是meta model的一個實例)。Meta model描述了模型的結構,EMF使用XMI來持久化meta model。另一個主要的原因是伴隨著Eclipse近10年來的發展,已經出現了許多非常好用的基於EMF的工具和應用,比如Teneo可以把EMF和Hibernate有效地mapping起來,Xtext可以基於EMF的模型定義一套自己的編程語言(更常見的是結合abstract syntax tree定義一套自己的query language)。
在Eclipse Indigo中的安裝link: