0
Виконано

Command pattern

Anton Ostriansky 2 роки тому оновлено Alexander Shvets 2 роки тому 1

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

Відповідь

Відповідь
Виконано

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

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

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

ДОБРЕ, Я ЗАДОВОЛЕНИЙ
Позначка задоволеності від Anton Ostriansky 2 роки тому
Відповідь
Виконано

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

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

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