Bom dia! Minha dúvida não seria com relação a código em específico mas sim com relação a arquitetura da aplicação.
Bem, estou fazendo o curso aplicando DDD e dividindo a aplicação em camadas. 1 .Aplicação -> 2.Serviços -> 3.Domínio <- 4.Infra
Minha camada de Domínio esta isolada e não referencia outras camadas, sendo assim tenho minha Aplicação chama a camada de Serviço que chama o Serviço de Domínio que por fim comunica com o repositório na camada de Infra.
Estou implementando as validações do meu domínio porém me surgiu uma dúvida de onde executar as validações antes de chamar o repositório. Devo realizar as validações no meu Serviço de Domínio, ou na minha camada de Serviços?
Pensei em colocar nos Serviços de Domínio pois assim eu posso estar utilizando meu domínio completo externamente em caso de reutilização, porém a camada de Serviço ficaria "pobre" até o momento, tendo apenas chamadas para a camada abaixo(Dominio).
Qual seria uma melhor abordagem para chamar as validações, nos Serviços de Domínio, ou na camada de Serviços? Também pensei em remover a camada de Serviços e chamar os Serviços de Domínio direto da camada de Aplicação.