0
Completed

Command pattern

Anton Ostriansky 5 years ago updated by anonymous 5 years ago 1

Здравствуйте. Вы пишите "Клиент создаёт объекты конкретных команд". Затем ниже, в псевдокоде, создаете обьекты конкретных команд внутри класса Application, но называете его отправителем. Как так получается, что даже в псевдокоде не следуете описанию паттерна?

Answer

Answer
Completed

Здравствуйте!

Спасибо за хороший вопрос. Я понимаю, почему может возникнуть путаница. Думаю, следует воспринимать вещи, описанные в структуре как роли. Особенно это касается довольно расплывчатой роли _клиента_, которым может выступать любой класс. В идеале каждой роли соотвествует свой класс. Но в реальной жизни один класс вполне может отыгрывать обе роли сразу. Если эти роли начинают слишком сильно переплетаться, программист может разделить класс, выделив роли в собственные классы.

В данном случае, мы вполне могли бы отделить создание команд в какой-то другой класс, но я не хотел этого делать, чтобы не усложнять пример без надобности.

GOOD, I'M SATISFIED
Satisfaction mark by Anton Ostriansky 5 years ago
Answer
Completed

Здравствуйте!

Спасибо за хороший вопрос. Я понимаю, почему может возникнуть путаница. Думаю, следует воспринимать вещи, описанные в структуре как роли. Особенно это касается довольно расплывчатой роли _клиента_, которым может выступать любой класс. В идеале каждой роли соотвествует свой класс. Но в реальной жизни один класс вполне может отыгрывать обе роли сразу. Если эти роли начинают слишком сильно переплетаться, программист может разделить класс, выделив роли в собственные классы.

В данном случае, мы вполне могли бы отделить создание команд в какой-то другой класс, но я не хотел этого делать, чтобы не усложнять пример без надобности.