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

GEF 框架中的设计模式

 2010-06-07 00:00:00 来源:WEB开发网   
核心提示: undo:对模型修改后,可以通过 undo 进行撤销,GEF 框架中的设计模式(3),redo:当用户撤销后,能通过 redo 重复上一次的操作,定义了生成 Figure 的抽象方法 createFigure(),具体工厂角色则有 AbstractGraphicalEditPart 的子类担当,

undo:对模型修改后,可以通过 undo 进行撤销。

redo:当用户撤销后,能通过 redo 重复上一次的操作。

图 2. Command 相关类图 (images/command.jpg)
GEF 框架中的设计模式

每个编辑策略都会为请求返回一个命令,不希望处理请求的策略将返回一个 null。GEF 通过一个命令堆栈 (CommandStack) 执行和保存 Command 对象。用户通过命令堆栈可以轻松撤销或重复对模型所做的操作。

工厂 (Factory)

工厂模式是用于将生成对象的步骤进行封装的创建型模式。常见的形态有以下几种:

简单工厂 (Simple Factory):又叫做静态工厂方法 (Static Factory Method) 模式,但不属于 23 种 GOF 设计模式。简单工厂模式由一个工厂对象决定创建出哪一种产品类的实例。

工厂方法模式 (Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。将创建工作推迟到工厂角色的子类去完成。

抽象工厂模式 (Abstract Factory):声明一个抽象的工厂接口,工厂的多个子类分别创建某一系列的产品。

在 GEF 中,Figure 的创建应用了工厂方法模式。抽象类 AbstractGraphicalEditPart 担当抽象工厂角色,定义了生成 Figure 的抽象方法 createFigure()。具体工厂角色则有 AbstractGraphicalEditPart 的子类担当,负责生成具体的编辑器图形。

图 3. AbstractGraphicalEditPart 类图 (images/factory_method.jpg)
GEF 框架中的设计模式

上一页  1 2 3 4 5 6 7 8  下一页

Tags:GEF 框架 设计模式

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