Я использую FluentValidation для проверки моих сервисных операций. Мой код выглядит так:
using FluentValidation;
IUserService
{
void Add(User user);
}
UserService : IUserService
{
public void Add(User user)
{
new UserValidator().ValidateAndThrow(user);
userRepository.Save(user);
}
}
UserValidator реализует FluentValidation.AbstractValidator.
DDD говорит, что уровень домена должен быть независимым от технологии.
То, что я делаю, это использование рамки проверки вместо пользовательских исключений.
Неплохая идея разместить фреймворк проверки на уровне домена?