Timur2342
@Timur2342

Есть ли смысл применять CQRS/MediatR?

Зачем разделять запросы и обработчики? Только если запросы или обработчики нужны не в одном сервисе в микросервисной арх? Не совсем понимаю.
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
vhood
@vhood
Не забывайте отмечать решения
Query может использовать отдельную базу данных с денормализацией и индексами под поиск, а Command другую базу данных с нормальными формами и без лишних индексов для ускорения вставки. В случае микросервисной архитектуры это будет 2 отдельных микросервиса, что позволит эффективно всем управлять. Но настроить такую систему сложнее и дольше.

Независимо от БД и архитектуры, для Query и Command стоит делать разных пользователей в базе данных с разными правами, что только усиливает безопасность.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
Имеет.
CQRS это для обработки конкретных действий в сервисе. И лучше все Request разделить на Query и Command.
Первый не модифицирует данные, второй для любых модификаций.
CQRS хорошо поддерживает Dependency Injection, то есть код становиться близок к SOLID.
Есть поддержка Behavior для логирования и валидации данных запросов.
Проект становиться проще для понимания.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы