What are some design patterns for keeping a history of an object as it changes. I don't need anything as heavy duty as event sourcing, just the ability to save past versions when a specific event happens (in this case when a print form button is pressed).
Asked
Active
Viewed 5,548 times
3 Answers
2
This sounds isomorphic to tracking undo information. The usual pattern for this is a variant of the Command pattern: you keep a queue in time order of previous states, with an operation to restore to the previous state.

Charlie Martin
- 110,348
- 25
- 193
- 263
-
The difference is that the history itself is persisted whereas with undo info you don't need anything of the sort. – George Mauer Feb 24 '09 at 20:15
1
I suggest you have a look at Martin Fowler's temporal patterns: http://www.martinfowler.com/eaaDev/timeNarrative.html

charlb
- 1,076
- 9
- 18