- 5
- 0
- 约4.2千字
- 约 8页
- 2016-12-04 发布于贵州
- 举报
使用Comand模式实现撤销机制
使用Command模式实现撤销机制[1]
Written by Matt Berther
Translated by Allen Lee[2]
Reviewed by Teddy Tam Allen Lee
Introduction
Command是一个非常强大的设计模式,它的作用是将一个请求封装成一个对象,从而使你能够把来自客户端的不同请求(request)、队列(queue)或者日志记录请求(log request)包装成参数,并且还支持可撤销操作。
这个模式的一个最大的优点就是,它能够把执行某操作的对象和实际知道如何处理该操作的对象之间的耦合度降低。
今天,我要向大家介绍如何使用这个Command模式来实现撤销功能。至于我们的例子,我们将会开发一个非常简单的类记事本(Notepad clone)。你无须大惊小怪,因为这(个记事本)已经能够展现出这个模式的威力了。
The Code
我们要做的第一件事就是创建一个用于包装TextBox控件的抽象层(abstraction)。在Command模式里,这个抽象层被称为接收者(Reciever)。在我们的例子里面,这个接收者是一个叫做Document的对象。
class Document{private TextBox textbox;public Document(TextBox textbox){this.textb
原创力文档

文档评论(0)