Мое понимание шаблона команды состоит в том, что у вас просто есть 1 виртуальный метод «execute()», и все зависимости, которые может иметь реализация, помещаются в конструктор или через инъекцию установщика в реализацию (например, обсуждался here).Command Pattern & design design
Однако в реализации шаблона WPF я заметил, что они передают аргумент generic функции execute() (пояснил here).
Это похоже на загрязнение интерфейса для меня, что послужило бы стимулом для добавления параметра generic функции execute()?
В вашем примере я бы ожидал определенного интерфейса для команд, работающих над списком, который принимает список (или интерфейс для списка) в качестве параметра, а не какой-то общий параметр. – eli
@ eli.work: Я не сказал, что параметр должен быть общим. Я просто сказал, что данные, необходимые для выполнения, не всегда доступны на сайте, где создается объект команды. –
. Вопрос должен быть немного яснее: это мотивировка общего параметра, о котором мне интересно. Я обновлю свой вопрос и спасибо за ответ! – eli