有人可以帮助我理解Java或C#中的命令模式如何在应用程序设计中启用“撤消”功能?任何解释都将不胜感激。
答案 0 :(得分:2)
撤消功能要求您存储最后n次用户操作。通常,用户操作只会导致函数调用,因此很难存储它。更难以以可撤销的方式存储它。
通过将用户操作抽象为对象,您可以轻松地将一组这些对象放入数据结构(通常为Stack
),如果您将Undo
方法放到对象上通过结构并在用户请求撤消操作时调用Undo
方法。
由于Command已经设置为封装操作(用户或其他),因此它是构建撤消功能的绝佳起点。