Канонический шаблон команд обычно иллюстрируется хорошими автономными командами. При этом любая информация, необходимая команде, скрывается в экземпляре объекта Command (обычно через параметризованный конструктор).
Однако в некоторых случаях параметры, необходимые для выполнения, могут быть недоступны во время создания команды (известны только во время выполнения). например Представьте себе SignOutCommand( username )
. Имя пользователя определяется, когда пользователь нажимает кнопку SignOut после первого входа в систему.
Таким образом, имя пользователя передается в качестве универсального параметра в Command.Execute()
; Каждая команда может определить свой ввод и привести соответственно, например, произвольная команда может потребовать 5 параметров в качестве объекта [].