Внедрение шаблона команды
Я участвую в процессе разработки приложения, и я хотел бы использовать шаблон команды для целей отмены/повтора. Я провел некоторое исследование в шаблоне команд, но единственное, чего я не получу, это: Если команда имеет методы отмены и повтора, или я должен сделать две отдельные команды: одну для отмены и одну для повтора, и вызвать их из самой главной команды?
Ответы
Ответ 1
Сам объект команды должен реализовывать функции отмены/повтора.
Команды обычно выталкиваются и выгружаются из стека, поддерживаемого диспетчером команд, для реализации отмены нескольких уровней. Когда команды выполняются, их вставляют в стек, а когда они отменены, они выталкиваются из стека.
Мемориальный шаблон будет использоваться в сочетании с шаблоном команды, это не замена использования шаблона команды. Он будет использоваться для поддержания состояния, необходимого для операции отмены.
Ответ 2
Вы также можете рассмотреть шаблон памяти для этого, мы его используем, и он отлично подходит для отмены.