用于对对象进行版本控制的设计模式有哪些?

时间:2009-02-24 20:03:32

标签: design-patterns version-control event-sourcing memento

用于保持对象历史变化的一些设计模式。我不需要像event sourcing那样繁重的任务,只需要在特定事件发生时保存过去的版本(在这种情况下按下打印表单按钮时)。

3 个答案:

答案 0 :(得分:7)

您可以查找memento pattern

答案 1 :(得分:2)

这听起来与跟踪撤消信息是同构的。通常的模式是Command模式的变体:您按照先前状态的时间顺序保留队列,并执行恢复到先前状态的操作。

答案 2 :(得分:1)

我建议你看一下Martin Fowler的时间模式:http://www.martinfowler.com/eaaDev/timeNarrative.html