在MDSF:特定领域建模 DSM(Domain Specific)介绍中提到过Ecore是EMF的元元模型,要使用Eclipse来做DSL,则必须先大致了解一下Ecore,本篇将对Ecore进行概要的描述。
简单的Ecore元模型子集
Ecore本身是一个简单的小的UML子集
- EClass:领域类,它有名称,一个或多个属性,一个或多个引用
- EAttribute:领域类的属性,属性有一个名称和类型
- EReference:在领域类之间建立的关联,有一个名称,一个布尔值标识是否包含,还有一个引用指向的目标类
- EDataType:属性类型,例如int或者对象类型
Ecore模型示例
- 类图
- 对应的Ecore模型
Ecore模型类继承关系
- EObject
EMF的每个模型对象EObject都是Notifier,它维护了一个Adapter列表,可以把Adapter作为监听器加入到模型的这个列表中。org.eclipse.emf.common.notify.Adapter接口由EditPart实现。
Ecore structural features
本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/517029,如需转载请自行联系原作者