Шаблон команд кажется излишне сложным (чего я не понимаю?)

Я читал о шаблоне команд и думаю, что что-то упустил. Объект Command существует для абстрагирования от деталей объекта Receiver. Мне кажется, что мы могли бы просто остановиться на этом и удерживать ссылки на объекты Command для выполнения соответствующего метода в подходящее время.

Зачем же тогда нужен Invoker? Какие преимущества дает это дополнительное косвенное обращение? Мы уже скрыли детали Получателя за Командой, что побуждает затем скрывать Команду от клиента?

13
задан Chris Tonkinson 19 May 2011 в 19:52
поделиться