В 60 обработчиках команд копируется одинаковый код валидации, логирования и транзакции
Проект использует MediatR. Каждый обработчик команды начинается с вызова валидатора, пишет лог о начале и конце, открывает транзакцию и коммитит её. В двух обработчиках забыли коммит, в одном — валидацию.
Как убрать дублирование?
- Сквозная логика в pipeline behavior вокруг обработчиков
- Базовый класс обработчика с виртуальными методами
- Статический метод Execute с копированием в каждом обработчике
- Отказаться от валидации в командах
