Зачем использовать команды?События кажутся подходящими - PullRequest
0 голосов
/ 01 апреля 2019

Существует ли конкретная ситуация, когда отправка события недостаточно хороша, и мы должны отправить команду?

Например, есть система (A), которая получает и order + orderlines.Система А подтверждает заказ.Если заказ действителен, то другая система (B) должна сделать гораздо больше обработки.Мы можем отправить команду от A до B (пожалуйста, обработайте команду заказа) или мы можем отправить событие от A до B (заказ принят как событие).

Похоже, что событие здесь подходит.И если позже нам понадобится System C, чтобы сделать что-то с принятым заказом, мы можем позволить ей прослушать событие.Я не уверен, что что-то упустил, если вместо команд использовал события.

1 Ответ

4 голосов
/ 01 апреля 2019

Краткий ответ: Команды богаты данными и предназначены для внутренней связи между сервисами и компонентами, где существует высокая связь, События имеют малый объем данных (обычно только идентификаторы) и предназначены для использования при межграничной связи, где есть слабая связь.между издателем и подписчиком.

Подробнее здесь: https://particular.net/blog/putting-your-events-on-a-diet

...