Command模式实现撤销重做(Undo/Redo)

        这是在实际项目中遇到的需求,项目中使用了Java Swing画界面,开始时没有实现撤销重做,后期要求加入撤销重做功能。在网上查找到资料说这种撤销重做的操作一般通过Command模式来实现,在实现过程中参考了http://blog.csdn.net/turbochen/article/details/8087文章中的内容。

        命令模式把一个请求或者操作封装到一个对象中,把发出命令的责任和执行命令的责任分割开,委派给不同的对象,可降低行为请求者与行为实现者之间耦合度。从使用角度来看就是请求者把接口实现类作为参数传给使用者,使用者直接调用这个接口的方法,而不用关心具体执行的那个命令。本文重点不是讲解命令模式,本人研究不多,里面各个角色也没分清楚,不多介绍,可参考http://www.uml.org.cn/sjms/200904151.asp

        使用命令模式当然要定义一个命令接口:

public interface Command {  
    public void execute(); // 执行命令和重做  
    public void undo();  // 执行撤销操作  
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值