![](https://cdn.userecho.com/characters/65.png?1)
Command pattern
Здравствуйте. Вы пишите "Клиент создаёт объекты конкретных команд". Затем ниже, в псевдокоде, создаете обьекты конкретных команд внутри класса Application, но называете его отправителем. Как так получается, что даже в псевдокоде не следуете описанию паттерна?
Respuesta
![](/s/cache/a6/73/a6734f0835e96bbe2628c5222c7eeee6.png)
Здравствуйте!
Спасибо за хороший вопрос. Я понимаю, почему может возникнуть путаница. Думаю, следует воспринимать вещи, описанные в структуре как роли. Особенно это касается довольно расплывчатой роли _клиента_, которым может выступать любой класс. В идеале каждой роли соотвествует свой класс. Но в реальной жизни один класс вполне может отыгрывать обе роли сразу. Если эти роли начинают слишком сильно переплетаться, программист может разделить класс, выделив роли в собственные классы.
В данном случае, мы вполне могли бы отделить создание команд в какой-то другой класс, но я не хотел этого делать, чтобы не усложнять пример без надобности.
Servicio de atención al cliente por UserEcho
Здравствуйте!
Спасибо за хороший вопрос. Я понимаю, почему может возникнуть путаница. Думаю, следует воспринимать вещи, описанные в структуре как роли. Особенно это касается довольно расплывчатой роли _клиента_, которым может выступать любой класс. В идеале каждой роли соотвествует свой класс. Но в реальной жизни один класс вполне может отыгрывать обе роли сразу. Если эти роли начинают слишком сильно переплетаться, программист может разделить класс, выделив роли в собственные классы.
В данном случае, мы вполне могли бы отделить создание команд в какой-то другой класс, но я не хотел этого делать, чтобы не усложнять пример без надобности.