命令模式如何启用撤消?
How does Command Pattern enables Undo?
有人可以帮助我了解 Java 或 C# 中的命令模式如何在应用程序设计中启用 "undo" 功能吗?任何解释将不胜感激。
撤消功能要求您存储最后 n 次用户操作。通常,用户操作只会导致函数调用,因此很难存储它。以不可撤销的方式存储它更难。
通过将用户操作抽象为对象,您可以轻松地将这些对象的集合放入数据结构中(通常为 Stack
),如果将 Undo
方法放入对象中,您只需遍历结构并在用户请求撤消操作时调用 Undo
方法。
由于 Command 已经设置为封装操作(用户或其他),因此它是构建撤消功能的绝佳起点。
有人可以帮助我了解 Java 或 C# 中的命令模式如何在应用程序设计中启用 "undo" 功能吗?任何解释将不胜感激。
撤消功能要求您存储最后 n 次用户操作。通常,用户操作只会导致函数调用,因此很难存储它。以不可撤销的方式存储它更难。
通过将用户操作抽象为对象,您可以轻松地将这些对象的集合放入数据结构中(通常为 Stack
),如果将 Undo
方法放入对象中,您只需遍历结构并在用户请求撤消操作时调用 Undo
方法。
由于 Command 已经设置为封装操作(用户或其他),因此它是构建撤消功能的绝佳起点。