I was wondering if there were any paradigms that describe how to save "state checkpoints" in a program so that a user may go back and reopen a program to the given state.
In my situation I see that there are many ways to do it each with their own drawbacks. I wanted to know if there is a way that has proved to have the best performance over most all cases of the problem?
What I think would be the most popular system is one that saves state changes, then when a user wishes to return to a previous state it walks the changes backwards until it reaches a specified time stamp reversing the changes along the way.
Or is this problem just application specific.