Реализация шаблона команды - PullRequest
14 голосов
/ 07 февраля 2010

Я нахожусь в процессе разработки приложения, и я хотел бы использовать шаблон команды для отмены / возврата. Я провел некоторое исследование по шаблону команд, но единственное, чего я не получил, это: должна ли команда иметь методы отмены и повторения, или я должен сделать две отдельные команды, одну для отмены и одну для повторения, и вызвать их из сама главная команда?

Ответы [ 2 ]

11 голосов
/ 07 февраля 2010

Сам объект команды должен реализовывать функцию отмены / возврата.

Команды, как правило, выталкиваются и извлекаются из стека, поддерживаемого диспетчером команд для реализации многоуровневой отмены. Когда команды выполняются, они помещаются в стек, а когда они отменяются, они извлекаются из стека.

Шаблон сувенира будет использоваться вместе с шаблоном команды, он не заменяет использование шаблона команды. Он будет использоваться для поддержания состояния, необходимого для операции отмены.

2 голосов
/ 07 февраля 2010

Вы также можете рассмотреть шаблон памятного для этого, мы используем его, и он отлично работает для отмены.

...