EMF学习笔记1——模型实体类

本文介绍了EMF基于Ecore和Genmodel构建模型的过程,详细阐述了EMF如何生成模型实体类、适配器类,并以Library和Book实体类为例,解析了单向引用、双向引用的关系处理,以及聚合引用在EMF中的实现。通过EMF,开发者可以无需手动编码即可生成相应的类和适配器,简化了模型驱动开发。
摘要由CSDN通过智能技术生成

EMF是基于两种元模型来构建的,分别是Ecore和Genmodel。

 

 


Ecore:主要用于定义模型结构的相关信息,并对外提供了一个根对象(犹如XML文件的根节点)用来代表要显示的模型,该对象的子节点为package(包),package的子节点为class(类),class的子节点为attribute(类的属性字段),这样整个树形结构就代表了所要表示的EMF模型结构。

Genmodel:主要包含有关代码生成的相关信息(如:文件生成路径及文件名),和一些控制参数用来控制代码怎样生成。

 

EMF采用模型驱动开发方法,在无需编码的情况下,我们可以基于模型使用EMF为我们生成以下几样东西。
1,与模型相对应的EMF实体类。
2,基于实体类的各种ItemProvider模型适配器类,通过该适配器类可以很好的将EMF模型绑定到Jface组件中去,稍后具体介绍。
3,editor-plugin项目,可理解为基于EMF应用的一个插件项目。
4,测试bundle。

 

 

这里3和4不做介绍,主要讲解1,2。然后自定义一个Jface组件,将EMF模型应用与该组件之上。

 

在开始之前,我们需要了解以下几个名词的含义,也是文中多处提到的几个词:
1实体类:就像Hibernate ORM为我们生成的实体类一样,EMF也会为我们生成这样的实体类,并且这些实体类含有更高级的特性(如:类属性状态发生变化时,实体类具有通知功能)

2适配器类:EMF的模型结构可能非常复杂(如可能含有多个实体类,并且类结构各不相同),这样当视图组件直接使用这些实体类的时候就变得非常困难(要判断出是哪一个实体类,针对该实体类怎样显示视图等等..),因此EMF针对这些实体类生成了一些适配器类,通过实现指定的接口,让适配器类来设计实体类的显示,而视图只需要选择合适的适配类便可。

3适配器工厂:上面讲到视图通过适配器类避免

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值