Комментарии 11
Эта либа позволяет одну и ту же middleware добавить и на команду, и на запрос?
А смысл? Как верно подметили, в плане производительности есть Mediator.
А назначение вызовов (Command, Query, Event) можно и так писать постфиксом к request. Ведь это все равно контракт и мы, как ни крути, зависим от реализации, которая будет соотнесена с нашим запросом.
Для проверок и аналитики было бы достаточно использовать маркеры типа IQuery или IEvent, но с одной общей реализацией движка.
Начал я это делать просто из собственного любопытства. Но дальше, видимо, мне ещё предстоит работа, сделать свою реализацию удобнее и лучше, чтобы в потраченных усилиях появился смысл.
оффтоп
Надо было лучше думать над неймингом, потому что одна ошибка и он уже ассоциируется с "per rectum" )
Уже вижу, как у ICommand появляется возвращаемый тип, как результат выполнения команды (например отдать Id созданной сущности), тот же путь прошел и MediatR, только с другой стороны (IRequest<Unit>)
Так то я отношу себя к конгрегации "Вам не нужен MediatR", но вашему проекту желаю всяческого успеха.

Requestum: CQRS-библиотека для .NET как альтернатива MediatR