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的工厂.
(待续)