GEF(Graphical Editor Framework)是一个图形化编辑框架,它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。
本系列介绍GEF中的几个基本概念,包括如下部分:
- GEF概述
- 模型(Model)
- 视图(View)
- 控制器(Control)
- 请求和编辑策略(Request and EditPolicies)
- 命令(commands)
- 模型同步
- 选项板(PaletteRoot)
1.GEF概述
GEF最早是Eclipse的一个内部项目,后来逐渐转变为Eclipse的一个开源工具项目,Eclipse的不少其他子项目都需要它的支持。
GEF的优势是提供了标准的MVC(Model-View-Control)结构,开发人员可以利用GEF来完成以上这些功能,而不需要自己重新设计。与 其他一些MVC编辑框架相比,GEF的一个主要设计目标是尽量减少模型和视图之间的依赖,好处是可以根据需要选择任意模型和视图的组合,而不必受开发框架 的局限(不过实际上还是很少有脱离Draw2D的实现)。
2.GEF工作原理
GEF 中模型和视图是两个完全没有联系的实体,两者都是通过控制器间接进行通信的。这样很好的解决了模型和视图之间的耦合,但是也增加了控制器的负担。GEF通 过请求和编辑策略及命令模式很好的解决了控制器的负担,使每一个部分保持最小的依赖关系。GEF的命令请求及响应流程如下:
(1)GEF框架接受用户的操作,并把操作转换成相应的请求。
(2)控制器接受请求并把请求交由相应的编辑策略管理器处理。
(3)编辑策略管理器个根据请求的类型新建相应的命令处理请求。
(4)GEF框架执行命令,命令负责对模型的修改。
(5)模型属性修改后,命令负责对模型的修改。
(6)监听器(控制器就是模型的监听器)监听到事件后处理相应的操作,并通知视图进行修改。
(7) 视图更新显示界面,使之与模型同步。
创建GEF编辑器,首先Eclipse创建控制器(EditorPart)设置好控制器的输入(IEditorInput),另外控制器将初始化EditDomain、viewers和palette等,如下图:
GEF结构图
分享到:
相关推荐
**GEF(Graphical Editing Framework)深度解析** GEF,全称为Graphical Editing Framework,是Eclipse平台下用于构建图形编辑器的...通过深入理解GEF的原理和实践,开发者可以更高效地构建出功能丰富的图形编辑应用。
#### 一、概述 本文将详细介绍《GEF开发指南—插件开发》中涉及的关键知识点。该书深入浅出地讲解了如何利用GEF(Graphical Editing Framework)进行插件开发,特别适合初学者阅读。GEF是Eclipse平台上的一个框架,...
#### 一、GEF与GMF概述 - **GEF**(Graphical Editing Framework)是Eclipse提供的一个用于构建图形编辑器的框架,它提供了一套完整的API来支持图形化界面的创建、编辑和管理。GEF主要应用于复杂的图形用户界面设计...
**五、Eclipse插件GEF原理梳理** GEF的核心原理在于将数据模型与图形表示分离,通过Model-View-Controller(MVC)设计模式实现。在GEF中,模型负责存储数据,视图负责显示图形,控制器处理用户交互。具体来说,模型...
GEF 提供了一系列组件和技术,帮助开发者轻松地解决上述问题。 ##### 3.1 数据模型与视图的关联 GEF 通过引入“模型-视图-控制器”(Model-View-Controller,MVC)架构模式,将数据模型、视图和控制器分开处理,...
#### 一、GEF与Draw2D概述 GEF(Graphical Editor Framework)是一款专为Eclipse平台设计的图形编辑框架,主要用于帮助开发者构建复杂的图形界面编辑器,使得用户可以通过直观的图形操作来进行数据的编辑与管理。...
1. **GEF概述**:理解GEF是什么,它是如何工作的,以及它的主要功能和目标。 2. **架构设计**:学习GEF的模块化结构,包括模型(Model)、视图(View)、控制器(Controller)和编辑器(Editor)等核心组件。 3. *...
**gef学习概述** gef(GNU Environment for GDB)是一个强大的GDB增强插件,它为GDB(GNU调试器)提供了丰富的交互式命令和高级功能,使得程序调试过程更为高效和便捷。本PPT旨在帮助用户深入理解gef的用法和核心...
### GEF入门教材知识点概述 #### 一、GEF简介及背景 - **定义与功能**:GEF(Graphical Editor Framework)是Eclipse Tools Project中的一个重要组成部分,它提供了一个强大的框架来支持开发者创建复杂的图形用户...
对于初学者来说,了解和掌握 GEF 的基本原理及使用方法是非常重要的。 #### 二、GEF 的功能介绍 GEF 提供了一系列工具和 API,使得开发者能够在 Eclipse 平台上创建自定义的图形编辑器。这些图形编辑器可以用来...
#### 三、核心组件及工作原理 ##### 1. **EditPart** - **EditPart** 是GEF的核心组成部分之一,负责处理用户交互,并将交互转化为对模型的操作。每个模型对象都有一个对应的EditPart对象。 - EditPart可以安装多...
- **ActiveMQ**:一个消息中间件,用于实现消息队列,提高系统的解耦和可靠性。 #### 三、基于J2EE的轻量级软件架构 J2EE(Java 2 Platform, Enterprise Edition)标准为开发企业级应用提供了一套完整的解决方案。...
EMF提供了一系列工具和服务,可以帮助开发者快速构建基于模型的应用程序。 **1.6 GEF技术** - GEF(Graphical Editing Framework)是一个用于构建图形编辑器的框架,主要用于创建UML图、流程图等复杂图形界面。GEF...
Eclipse Graphical Modeling Framework(GMF)是Eclipse IDE中的一个强大工具,它提供了一种方式来创建和实现基于模型的图形编辑器。GMF允许开发者定义图形表示和模型之间的映射,从而轻松地创建用户友好的图形界面...
GMF实现原理主要包括图形化编辑器的生成过程、图形对象的交互机制以及模型与图形之间的同步机制。 ##### 4. GMF编辑器实现 GMF支持多种类型的编辑器实现,包括基本编辑器、高级编辑器以及自定义编辑器。基本编辑器...
#### 一、乱码问题概述 在不同的操作系统或编程环境中,如果未正确设置字符编码格式,就可能导致特定语言(如德语)的字符在显示时出现乱码现象。例如,在Windows环境下使用ANSI编码处理UTF-8编码的文本文件时,就...