2
respostas

Regras de negócio Services x VO

Fala, pessoal. Boa noite. Entendi que a intenção das classes services no Clean Arch é quando temos lógicas que não estejam diretamente ligadas a um determinado VO. Porém e no caso das regras de negócio ficarem extensas demais? Não seria através de uma classe service que poderíamos segmentar regras de negócio relacionadas a um entidade VO?

Por exemplo numa funcionalidade de matricular aluno. Qual camada/classe ficaria responsável por orquestrar as validações e ações que envolvem uma matricula de aluno?

2 respostas

Oi Aluno,

É justamente esse o objetivo da classe service: orquestrar as validações e ações de alguma funcionalidade da aplicação. Se a classe acabar ficando muito grande, pode ser um indício de que ele esteja fazendo coisas demais, que extrapolam aquela determinada funcionalidade. É possível também isolar validações em classes separadas e a service chama tais classes.

Bons estudos!

Oi, Rodrigo.

Estudando o capítulo seguinte pude entender melhor a proposta da classe service. No exemplo da minha pergunta, entendo que tal classe relacionada a orquestração da funcionalidade ficaria na camada use cases mas também poderíamos ter uma classe service na camada domain com regras especificas de uma entidade vo (que foi o que eu quis dizer na primeira pergunta), já que as entidades VO podem ficar extensas demais com tais regras de negócio.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software