命令模式——面向对象设计模式系列教程 第三部分

命令模式是一种行为型设计模式,用于将请求封装为对象,降低对象间的耦合,易于实现撤销和重做操作。本文详细介绍了命令模式的核心概念、结构、应用场景、优缺点,并提供了一个宇宙飞船操作的代码实例,展示了如何使用命令模式实现命令队列和控制中心。

作者:禅与计算机程序设计艺术

1.背景介绍

命令模式(Command Pattern)又称为行动者模式,它是一种行为型设计模式,其特点在于将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,可以提供命令的撤销和重做功能,并能实现对请求的组合与时序管理。

命令模式主要优点如下:

1.降低了对象的间接耦合度:由于创建了一个新的类来表示一个请求,因此减少了系统中各个类的耦合度,也就意味着可方便地根据业务需求变更和扩展这些命令; 2.增加新的命令很容易:引入了新的具体命令类后,只需要实现 ICommand 接口即可,无需修改原有系统的代码,便可方便地增加新的命令; 3.可以较容易的实施 Undo 和 Redo 操作:命令模式可以很好地实现 Undo 和 Redo 操作,用栈保存执行过的命令,当用户需要Undo时,只要出栈即可;Redo同理; 4.可以参数化命令:命令模式允许通过一个参数来初始化命令,从而设置更多的信息,或者改变其行为。例如,打开文件的命令可以接收一个文件名作为参数,从而打开指定的文档;

命令模式的典型应用场景包括:

1.GUI 设计器中的Undo/Redo机制:使用命令模式可以实现复杂事件的撤销和恢复,如窗口拖放、文字编辑等操作; 2.Macro指令系统:命令模式也可以用来实现宏指令系统,即将一组按一定顺序执行的命令保存为一个文件,当需要时可以重新调用该文件来完成复杂任务; 3.游戏玩法命令:命令模式还可以应用在游戏领域,如在模拟器中键盘输入、鼠标点击等操作都可以通过命令来表示,并可以实现撤销、重做、取消等操作; 4.数据库操作事务:命令模式还可以应用在数据库操作上,对一条SQL语句的执行过程可以抽

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禅与计算机程序设计艺术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值