什么是GMF,全名Grahical Modeling Framework,官方文档的解释是作为EMF和GEF之间桥接的框架。
EMF的主要功能就是根据领域知识,通过工具自动生成领域模型代码。
GEF的主要功能是根据模型定义的Node,connection等信息,将模型信息进行图形化的显示。
概括而言,EMF 用于创建领域模型,而GEF用于将这些模型进行图形化的显示。
但是,EMF的模型并不是GEF所需要的GEF模型,所以二者要想协同工作需要采用一些桥接技术来解决这些问题。
我们知道,EMF中定义的模型并没有关于显示方面的信息,例如loction和size等信息,而这些信息正是GEF的model所需要提供的。
GMF提供了这样一种手段, 将领域模型与图形化的显示整合到一起。
GMF 定义了一套自己的模型用于被GEF使用。 GEF将图元模型归结为三个:Diagram, Node 和 Edge。 Diagram是总的容器类, Node 对应一个节点,Edge 表示Node 之间的连接信息。同时GEF将图形相关的一些属性加入到这些表示中,从而提供了一种统一的访问机制,来控制这些外观。GMF将这种表示称为Notation meta-model。该元模型notation的类层次如下图所示:
EMF的主要功能就是根据领域知识,通过工具自动生成领域模型代码。
GEF的主要功能是根据模型定义的Node,connection等信息,将模型信息进行图形化的显示。
概括而言,EMF 用于创建领域模型,而GEF用于将这些模型进行图形化的显示。
但是,EMF的模型并不是GEF所需要的GEF模型,所以二者要想协同工作需要采用一些桥接技术来解决这些问题。
我们知道,EMF中定义的模型并没有关于显示方面的信息,例如loction和size等信息,而这些信息正是GEF的model所需要提供的。
GMF提供了这样一种手段, 将领域模型与图形化的显示整合到一起。
GMF 定义了一套自己的模型用于被GEF使用。 GEF将图元模型归结为三个:Diagram, Node 和 Edge。 Diagram是总的容器类, Node 对应一个节点,Edge 表示Node 之间的连接信息。同时GEF将图形相关的一些属性加入到这些表示中,从而提供了一种统一的访问机制,来控制这些外观。GMF将这种表示称为Notation meta-model。该元模型notation的类层次如下图所示: