1
resposta

[Avançado] Boas práticas na hora da validação de regras de negócio

Vamos supor que a classe "Curso" tenha uma caracteristica Booleana de "Ativo" ou "Inativo".

Vamos supor que esta caracteristica seja "Calculada", através de consultas em outras tabelas, que podem inclusive ser Computacionalmente pesadas.

Vamos supor que ao cadastrar um novo Tópico, exista uma regra que define que não se pode cadastrar tópicos que contenham cursos inativos.

E por fim, vamos supor que eu tenho vários Endpoints que cadastram tópicos, e eu não quero correr o risco de fazer a validação acima em alguns deles.

Sendo assim:

Onde eu coloco o código fonte de verificação? No próprio construtor do tópico?

1 resposta

Oi Joao,

O ideal sempre sera isolar as regras de negocio da aplicacao em uma camada service, que pode ser utilizada em varios controllers. Como no curso nao tinham regras complicadas acabei deixando as validacoes no proprio controller/dto.

Bons estudos!