Шаблон команды - Как сохранить состояние выполнения? - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть следующая операция.Мне нужно создать бронирование, во время создания бронирования мне нужно организовать несколько вещей.Бронирование выполняется через стороннюю систему, затем отправляется электронное письмо, затем дорабатывается ценовое предложение и т. Д. *

Могу ли я инкапсулировать эту логику в одну команду CreateReservationCommand или мне нужно иметьтри команды, а затем какой шаблон будет управлять выполнением команды?Может ли команда вообще иметь состояние выполнения?

Также у меня есть ощущение, что команда в смысле банды из четырех отличается от команды, например, в смысле CQRS.Я прав?

ОБНОВЛЕНИЕ:

Что меня смущает, так это то, что с точки зрения CQRS вы можете иметь команды и события и позволять предположить, что сторонняя система отправляет сообщение в мою систему CREATE_RESERVATIONНе будет ли это в контексте CQRS командой, и, тем не менее, это скорее полный рабочий процесс, возможно, шаблон SAGA?

1 Ответ

0 голосов
/ 21 ноября 2018

Могу ли я инкапсулировать эту логику в одну команду CreateReservationCommand или мне нужно иметь три команды, а затем какой шаблон будет управлять выполнением команды?Может ли команда вообще иметь состояние выполнения?

Можно ... но обычно для учета оркестрации используется что-то вроде шаблона диспетчера процессов , который охватывает несколько транзакций.

У меня такое ощущение, что Команда в смысле банды четырех отличается от Команды, например, в смысле CQRS.Я прав?

Вы абсолютно правы - совершенно разные идеи.«Команда в CQRS» является потомком командного сообщения Грегора Хопе pattern.

...