32得票8回答
如何为TextBox实现好的高效的撤销/重做功能

我有一个TextBox,我想为它实现撤销/重做功能。我了解到它可能已经有一些轻微的撤消功能,但是存在一些错误?无论如何,我还想实现撤消和重做功能,以便学习如何继续操作。 我了解了备忘录模式并在CodeProject上查看了通用Undo/Redo示例。这种模式有点让人感觉理解了,但我似乎无法理...

17得票4回答
备忘录模式与序列化的区别

我正在研究备忘录模式,但是我对行为模式不太了解,在我的研究中,我感到非常困惑。其中一个主要的问题是备忘录模式和序列化之间的区别。 据我所知,两者都可以用于存储对象,并在以后的某个时间将它们恢复,但我没有找到明确的答案,说明它们之间的主要区别是什么。也许我在研究中遗漏了一些东西,但我想知道是否...

16得票4回答
如何在C#4中实现备忘录模式?

备忘录模式本身似乎很简单。我正在考虑实现与维基百科示例相同的代码,但在此之前,有没有C#语言特性可以使其更容易实现或使用?

9得票3回答
C#中的状态模式与先前状态

我对C#中的状态模式实现不熟悉,您能提供一些相关信息吗? 我正在使用状态模式重构一个包含5个状态的状态机。目前只能通过向前或向后遍历状态来操作,例如从状态1需要经过状态2、3和4才能最终到达状态5。 我可以通过进行以下操作向前移动: mainclass.State = ne...

8得票3回答
如何进行对象版本控制的设计模式有哪些?

有哪些设计模式可用于保留对象在变化过程中的历史记录。我不需要像事件溯源那样重型的东西,只需在特定事件发生时保存过去的版本(在此情况下是按下打印表单按钮)的能力。

8得票3回答
Java中的io.Serializable是什么意思?它与备忘录模式有什么关系?

众所周知,备忘录模式可以在不违反封装的情况下,捕获和外部化对象的内部状态,并且可以在没有原始状态知识的情况下稍后回收。 我的问题是,为什么 java.io.Serializable 会涉及到这个模式?因为每当我们对一个私有变量进行序列化并将对象状态写入文件时,私有变量的值就公开给了全世界,这...

7得票1回答
为什么在备忘录模式中需要Caretaker类?它真的很重要吗?

我目前正在尝试弄清楚备忘录模式的工作原理。但是我卡在了 Caretaker 类上?它真的很重要吗?我的意思是,我可以在没有这个类的情况下使用备忘录模式。请参见下面的代码。 public class Originator { private String state; priv...