0
respostas

[Dúvida] Regra de adoção: melhor na service ou no domínio?

Pessoal, fiquei com uma dúvida conceitual sobre a parte de exceptions na AdocaoService.

No exemplo do curso, a regra de negócio (como “não permitir solicitar adoção de um pet já adotado”) está sendo validada diretamente na service. Funciona, claro, mas estudando um pouco de arquitetura hexagonal + DDD, vi que esse tipo de regra talvez fizesse mais sentido dentro do domínio, por exemplo na própria entidade Pet ou em um domain service.

A ideia seria que o próprio domínio garantisse suas invariantes, algo como:

o Pet sabe se pode ou não ser adotado
a aplicação (service/use case) só orquestra o fluxo

Isso evitaria duplicação de regras e deixaria o modelo mais consistente ao longo do tempo.

Entendo que no contexto didático simplificar colocando na service pode ajudar no começo, mas queria saber:

  • Em um cenário mais próximo do mundo real, vocês também levariam esse tipo de regra para o domínio?
  • Ou manteriam na service mesmo por questão de simplicidade?

Curioso pra ouvir a opinião de vocês e do instrutor.