Цитата:от:VoVan
Интересно кстати, что думают програмисты, сложно ли сделать так, что-бы любое действие истории можно было редактировать(как смарт объекты) или хотя-бы убрать, не затронув последующие действия?
Память небось жрать будет, сильно ли?Подробнее
Это несложно, и например, многоуровневый Undo реализован в бесплатном framework CSLA для .NET http://www.google.com/search?q=CSLA+undo . Другое дело, что подобная реализация неплоха для небольших обьектов: сохраняется state (состояние) обьекта перед каждым изменением. Так что действительно, если не применять специализированных ухищрений, при больших обьектах такой метод должен изрядно кушать память.
Убирать действие из середины можно, откатив до него и накатив все последующие, за исключением убранного. :)