Шаблон команды: Как передать параметры команде? - PullRequest
57 голосов
/ 19 сентября 2008

Мой вопрос связан с шаблоном команды, где у нас есть следующая абстракция (код C #):

public interface ICommand
{
    void Execute();
}

Давайте возьмем простую конкретную команду, которая направлена ​​на удаление объекта из нашего приложения. Например, Person.

У меня будет DeletePersonCommand, который реализует ICommand. Эта команда нуждается в Person для удаления в качестве параметра, чтобы удалить его при вызове метода Execute.

Каков наилучший способ управления параметризованными командами? Как передать параметры командам перед их выполнением?

Ответы [ 12 ]

0 голосов
/ 19 сентября 2008

Я бы добавил все необходимые аргументы в конструктор DeletePersonCommand. Затем, когда вызывается Execute(), используются те параметры, которые передаются в объект во время строительства.

0 голосов
/ 19 сентября 2008

DeletePersonCommand может иметь параметр в своем конструкторе или методах. DeletePersonCommand будет иметь Execute () и в атрибуте execute может проверить атрибут, который будет передан Getter / Setter ранее при вызове Execute ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...