EMF学习笔记摘要

本文介绍了EMF的核心组成部分,包括ECORE元模型、编辑器和代码生成,并详细讲解了ECORE的结构以及如何在EMF中导入模型并生成代码。当修改生成的代码时,需要注意保留@generated not注解以防止被覆盖。此外,文章还探讨了genmodel与ecore的关系,以及模型、编辑和编辑器之间的依赖关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.EMF的三大部分:  (1)EMF.ECORE :也就是核心元模型,用来表示模型的模型.
           (2)EMF.EDIT :为模型构建editor和viewer.
     (3)EMF.CODEGEN :根据输入的模型进行代码生成.
2.ECORE的结构:
3.在EMF导入ecore,生成genmodel,再生成代码以后,如要自己修改生成的代码,需修改被改部分的annotation,将@generated随意改动即可,如改成@generated not.如果不改,在下次生成代码时,会覆盖你所修改的部分.
注意:genmodel与ecore的关系.
之所以把genmodel与ecore分开,好处是保持ecore的纯洁,不夹参有code generate的信息.所以每次修改ecore以后要reload ecore生成genmodel.
4.可生成的3个主要部分的代码分别是:model->edit->editor.从右向左依赖.
  --> modeling framework :模型里面定义的类,模型的factroy,模型的package,以及2个工具类.
      #一个是XXXAdapterFactory:为一个target创建一个adapter
      #另一个是XXXSwitch:实现了一个用来判断类的"switch-case"结构.
  截图如下:导入的模型叫purchase(后面以XXX代替),模型中的俩类分别叫item,purchaseOrder.(后面以YYY代替)
 
 
  --> edit framework :模型中的类的provider,一个eclipse插件类,一个XXXItemProviderAdapterFactory.
      #YYYItemProvider:在YYY的属性发生变化时,触发notifyChanged.并负责过滤相关事件.
      #XXXItemProviderAdapterFactory:动态转换类型Notifier--->Adapter;YYYItemProvider的工厂.   
(待续)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值