62
задан 14 November 2010 в 21:37

3 ответа

Мои только два цента - то, что Вы хотели бы использовать два стека для отслеживания операции. Каждый раз, когда пользователь выполняет некоторые операции, Ваша программа должна поместить те операции на "выполненный" стек. Когда пользователь хочет отменить те операции, просто вытолкать операции от "выполненного" стека до стопки "отзыва". Когда пользователь хочет восстановить те операции, поп-объекты от "отзыва" складывают и пододвигают их обратно к "выполненному" стеку.

Hope это помогает.

5
ответ дан 31 October 2019 в 13:59

Если действия обратимы. например, Добавление 1, заставьте игровое движение и т.д. видеть , как использовать Шаблон "команда" для реализации отмены/восстановления . Перейдите по ссылке, Вы найдут подробные примеры того, как сделать это.

В противном случае использование Сохраненное состояние , как объяснено @Lazer.

2
ответ дан 31 October 2019 в 13:59

Шаблон "memento" был сделан для этого.

Прежде, чем реализовать это самостоятельно, обратите внимание, что это довольно распространено, и код уже существуют - Например, если Вы кодируете в .NET, можно использовать IEditableObject.

1
ответ дан 31 October 2019 в 13:59

Другие вопросы по тегам:

Похожие вопросы: