Command Pattern如何启用撤消?

时间:2016-12-07 23:12:13

标签: java c# design-patterns command undo

有人可以帮助我理解Java或C#中的命令模式如何在应用程序设计中启用“撤消”功能?任何解释都将不胜感激。

1 个答案:

答案 0 :(得分:2)

撤消功能要求您存储最后n次用户操作。通常,用户操作只会导致函数调用,因此很难存储它。更难以以可撤销的方式存储它。

通过将用户操作抽象为对象,您可以轻松地将一组这些对象放入数据结构(通常为Stack),如果您将Undo方法放到对象上通过结构并在用户请求撤消操作时调用Undo方法。

由于Command已经设置为封装操作(用户或其他),因此它是构建撤消功能的绝佳起点。