Возможно, вы захотите взглянуть на сообщение Уди Дахана о деловых событиях .
Так как же вы собираетесь употреблять такие события?
В посте Уди Дахана мне кажется, что у него просто есть посредник в процессе (на самом деле, Наблюдатель ), который уведомляет всех подписчиков о событиях по мере их возникновения. Это происходит безоговорочно, поэтому каждый подписчик по сути работает как собственный фильтр, решая, хочет ли он иметь дело с рассматриваемым событием.
Пока вызывает событие само по себе происходит в процессе, уведомление всех подписчиков также может происходить в процессе, пока брокер удостоверяется, что уведомление происходит асинхронно, так что подписчики не получают не блокировать друг друга (или бизнес-процесс, вызвавший событие).
Во многих случаях это, вероятно, будет достаточно хорошо, но в других случаях вам может потребоваться повышенная масштабируемость или надежность. Такие проблемы могут быть решены с помощью (транзакционных) очередей, но, очевидно, за счет дополнительной сложности. Здесь брокер все еще существует, но вместо того, чтобы уведомлять подписчиков напрямую, он добавляет сообщение, представляющее событие, во все очереди подписки.