Зачем использовать шаблон команд, когда клиент может вызывать метод напрямую из экземпляра получателя? - PullRequest
2 голосов
/ 14 декабря 2011

Недавно я сталкивался с Command Pattern. В этом шаблоне Клиент отвечает за создание экземпляров Reciever, ConcreteCommand и Invoker. В какой-то момент времени (допустим, при нажатии кнопки) вызывается метод Invoke для Invoker. Теперь метод Invoke отвечает за выполнение определенной операции в Reciever. Но зачем мне Invoker (иначе шаблон команды), когда клиент может напрямую вызвать конкретное действие с помощью Reciever?

1 Ответ

1 голос
/ 14 декабря 2011

Зачем мне нужен Invoker (Command Pattern), когда клиент может напрямую вызвать конкретное действие, используя Reciever?

Это одно из основных обоснований шаблона команд - разъединение инициатор от получателя (отправитель-получатель / изготовитель-потребитель).

...