专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » eclipsegef:[Eclipse]GEF入门系列( 8、使用EMF构造GEF的模型) »正文

eclipsegef:[Eclipse]GEF入门系列( 8、使用EMF构造GEF的模型)

来源: 发布时间:星期四, 2009年1月8日 浏览:72次 评论:0
  本文举例源代码或素材下载

  GEF设计没有对模型部分做任何限制也就是说我们可以任意构造自己模型须要保证就是模型具有某种消息机制以便在发生变化时能够通知GEF(通过EditPart)在以前几个例子里我们都是利用java.beans包中PropertyChangeSupport和 PropertyChangeListener来实现消息机制这里将介绍下如何让GEF利用EMF构造模型.

  EMF使用自己定义Ecore作为元模型在这个元模型里定义了EPackage、EClassier、EFeature等等概念我们要定义模型都是使用这些概念来定义同时ecore中所有概念都可以用本身概念循环定义所以ecore又是自己元模型也就是元元模型有关 ecore详细概念请参考EMF网站WebSite上有关资料

  利用EMF为我们生成模型代码可以有多种方式例如通过XML Schema、带有注释Java接口、Rosemdl文件以及.ecore文件等EMF代码生成器需要个扩展名为.genmodel文件提供信息这个文件可以通过上面说几种方式生成我推荐使用Omondo公司EclipseUML插件来构造.ecore文件该插件免费版本可以从这里下载(也许需要使用国外代理才能访问omondo网站WebSite)

;
    resource.getContents.add(diagram);
  }
}

  虽然到目前为止我还没有机会体会EMF在模型交互引用方面优势但经过进了解和在这个例子应用我对EMF印象已有所改观据我目前所知使用EMF模型作为GEF模型部分至少有以下几个好处:

  只需要定义次模型而不是类图、设计文档、Java代码等等好几处;



  EMF为模型提供了完整消息机制不用我们手动实现了;

  EMF提供了缺省模型持久化功能(xmi)并且允许修改持久化方式;

  EMF模型便于交叉引用拥有足够元信息等等

  此外EMF.Edit框架能够为模型编辑提供了很大帮助由于我现在对它还不熟悉所以例子里也没有用到今后我会修改这个例子以利用EMF.Edit



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: