Возможный дубликат:
Шаблон проектирования для Undo Engine
В целом, как вы относитесь к поддержке функции "отмены" в вашем приложении? Я работал над веб-приложениями и приложениями для настольных компьютеров, и я никогда не чувствовал себя комфортно в любой системе "отмены", которую я сделал.