0
已完成

Command pattern

Anton Ostriansky 6 年 前 更新人: anonymous 6 年 前 1

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

解答

解答
已完成

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

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

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

很好,我很满意
满意度评分用户: Anton Ostriansky 6 年 前
解答
已完成

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

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

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

UserEcho 的客户支持