WEB开发网
开发学院软件开发Java GEF 框架中的设计模式 阅读

GEF 框架中的设计模式

 2010-06-07 00:00:00 来源:WEB开发网   
核心提示:前言图形编辑框架 (Graphical Editing Framework, GEF) ,是 Eclipse 平台下一个重要的框架,GEF 框架中的设计模式,用来从应用模型开发富图形化的编辑器,是 Eclipse RCP 开发者的神兵利器,GEF 编辑器通过 Tool 的改变来改变自己的行为,本文示例代码来自于 GEF

前言

图形编辑框架 (Graphical Editing Framework, GEF) ,是 Eclipse 平台下一个重要的框架,用来从应用模型开发富图形化的编辑器,是 Eclipse RCP 开发者的神兵利器。 GEF 框架涉及大量的概念和技术,有着非常陡峭的学习曲线。本文从设计模式的角度出发,解析 GEF 框架中的关键应用场景,希望能够帮助 Eclipse RCP 开发者更好地理解和应用这一框架。

GEF 通过大量使用设计模式来获取它的灵活性。除了 MVC 模式,GEF 最经常用到的设计模式是命令、工厂、观察者、职责链和状态。

模型-视图-控制器 (Model-View-Controller):MVC 模式被 GEF 用来解除用户界面,行为和表示之间的耦合。模型可以用任意 Java 对象表示,EMF (Eclipse Modeling Framework,Eclipse 建模框架 ) 被普遍使用来构造 GEF 的模型。视图必须实现 IFigure 接口,控制器则必须是 EditPart 类型。

命令 (Command):用来封装对模型的修改,支持 redo、undo 操作。

工厂 (Factory): GEF 框架应用工厂方法模式创建 Figure 应用抽象工厂模式创建 EditPart。

观察者 (Observer):通过观察 EditPart 的激活状态,ConnectionCreationTool 修改待创建连接的连接源。

职责链 (Chain of Responsibility):用来决定请求 (Request) 如何被编辑策略 (EditPolicy) 处理。

状态 (State):对于键盘、鼠标输入,GEF 编辑器通过 Tool 的改变来改变自己的行为。

本文示例代码来自于 GEF 的 3.4.1 版本。

模型-视图-控制器 (Model-view-controller, MVC)

GEF 框架严格遵循模型-视图-控制器模式 (MVC) 。

1 2 3 4 5 6  下一页

Tags:GEF 框架 设计模式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接