2014-01-08 4 views
1

Может ли NSB DTO быть командой и событием в одно и то же время?Может ли NServiceBus быть командой и событием?

Я надеюсь использовать директиву DefiningCommandAs() на стороне клиента. Однако одно и то же сообщение будет считаться событием на стороне сервера/обработчика.

Идея состоит в том, что я хочу иметь 2 подсистемы. Связь между 2 будет осуществляться только с помощью Send().

  1. Это хороший шаблон
  2. Должен ли я создать специальный DTO построить вместо того, чтобы переправить сообщения через вместо использования события в качестве команды DTO.
+0

Какова цель каждой из двух подсистем? –

ответ

2

Обе команды и события происходят из IMessage, поэтому технически возможно отправить() и опубликовать() одно и то же сообщение. Однако это не считается хорошим дизайном или практикой, и именно поэтому были созданы интерфейсы ICommands и IEvent, чтобы люди не отправляли события и команды публикации. С точки зрения DDD, они имеют совсем другое значение и цель и должны рассматриваться как таковые. Если вы решили не иметь зависимости от NServiceBus в своих сообщениях, выполняя ненавязчивый режим, помните об этом и отделяйте свои события и команды от своих соответствующих сборок.

Смежные вопросы