Я не понимаю, почему шаблон Command удобен в объектно-ориентированном дизайне.
Вместо использования, например, Command Switch
который имеет ссылку на класс Lamp
, я не могу просто создать абстрактный класс Switchable
и вызвать его методы?
Таким образом, в любом случае я разделяю инициатора и получателя, и мне не нужно создавать объект Command для каждого класса получателя.