The command pattern.  This is used by Java's Swing to
implement undo/redo.  More details here:
http://www.javaworld.com/javaworld/jw-06-1998/jw-06-undoredo.html

Related to the Command pattern is the Memento pattern:
http://sern.ucalgary.ca/courses/SENG/443/W02/assignments/Memento/


 --- Idan Sofer <idan / idanso.dyndns.org> wrote: > >
I've got a big object that holds references to
> other objects which,
> > in turn, hold references to other objects,
> which.....
> >
> > Now I change this object, but need a possibility
> to revert the change. This
> > could be achieved by deep-copying the object, but
> that's too expensive
> > (changes are mostly minor and 99% copy operations
> will be redundant).


________________________________________________________________________
Want to chat instantly with your online friends?  Get the FREE Yahoo!
Messenger http://uk.messenger.yahoo.com/