CQRS - выполнить два обработчика - PullRequest
3 голосов
/ 10 февраля 2012

У меня есть обработчик для создания комментариев.И у меня есть второй обработчик для создания задач.

Оба обработчика реализовали один и тот же интерфейс

public interface IHandle<TCommand>
{
      void Handle(TCommand);
}

Теперь мне нужно создать комментарий сразу после того, как задача была успешно создана.Но с другой стороны, мне все еще нужен обработчик комментариев как отдельный обработчик.

Так что мне интересно, что было бы лучшим решением для повторного использования обработчика комментариев.

Моей первой мыслью было просто вставить обработчик комментариев в обработчик задач, а затем просто вызвать обработчик комментариев внутриметод-обработчик задачи.

Моя инфраструктура - это приложение ASP.NET MVC, в котором я определяю обработчик, используя свой контейнер IoC, а затем выполняю обработчик.Я не использую шину сообщений.

1 Ответ

3 голосов
/ 11 февраля 2012

Вы можете реализовать обработчик TaskCreatedEvent, который отправляет команду CreateComment после возникновения TaskCreatedEvent.Это в основном то, что называется сага и координирует процессы через совокупные границы.

...