深度理解命令模式
(1)参数化配置:用不同的命令对象,去参数化配置客户的请求。
(2)可撤销的操作:
①补偿式(反操作式):如被撤销的操作是加的功能,那么反操作就是减的功能。
②存储恢复式:把操作前的状态记录下来,然后要撤销操作时就直接恢复回去就可以了。(该种方式会放到备忘录模式中进行讲解)
【编程实验】可撤销/恢复操作的计算器

//声明文件
//*********************************************************************************************
//行为型模式:命令模式
//场景:计算器(可撤销的计算)
#include <iostream>
#include <string>
#include <list>
using namespace std;
//***************************************Receiver*******************
//操作运算的接口
//运算类,真正实现加减法运算(具体的接收者)
class CCalculator{
private:
int iResult;
public:
void SetResult(int result);
int GetResult();
void Add(int num);

本文探讨了如何使用命令模式实现一个可撤销/恢复操作的计算器。通过参数化配置,我们可以使用不同的命令对象来处理客户请求。撤销操作可以采用补偿式,即执行反操作,例如加法的反操作是减法。另一种方式是存储恢复式,它记录操作前的状态并在撤销时恢复,此方法将在备忘录模式中详细讨论。文章还提供了相关编程实验的声明、实现和测试客户端代码。
最低0.47元/天 解锁文章
879

被折叠的 条评论
为什么被折叠?



