【发布时间】:2011-05-24 20:00:00
【问题描述】:
在我的应用程序中,我想为用户提供一个小的撤消功能。用户可以撤消的操作并不多。特别是行动是:
- 为对象添加注释
- 为对象着色
- 用字符串标记对象
现在我考虑如何实现这一点。我首先想到了一个动作类,它是用户可以采取的 3 种不同动作的抽象基类。每次用户执行这些操作时,都会创建此抽象 Action 类的子类的新适当实例,并将其插入到包含所有操作的列表中。
当用户想要撤消某事时,列表会显示给用户,他可以选择他想要撤消的操作。
现在我在考虑必须在这样的操作对象中存储什么:
- 动作前对象的状态
- 实际执行的操作(例如添加到对象注释中的字符串)
我不确定这是否足够。我也想过按时间顺序排列之类的东西,但这应该是必要的,因为列表可以按时间顺序保持正确。
还有什么我应该考虑的吗?
【问题讨论】:
-
搜索GOF中的纪念品图案
标签: c# .net architecture system-design