1
resposta

Sobre o desacoplamento e o clean architecture

Sei que clean arquitecture não é o foco do vídeo, mas ao mover o método de reajuste de salário para a classe ReajusteService estaríamos ferindo um princípio do clean architecture, que diz que as regras relacionadas ao uma entidade deve ficar na classe da própria entidade, certo?

1 resposta

Boa noite Jonas.

Acredito que o caso do exercício foi mais para exemplificar como extrair um método. No entanto, se entendermos que o service se comporta como UseCase, faz sentido levar as regras de negócio para esta camada. Outros métodos de manipulação dos atributos e que sejam sem side effects podem ficar sim nas entidades para não deixa-las anêmicas (mais sobre esse conceito: https://www.alura.com.br/artigos/o-que-e-modelo-anemico-e-por-que-fugir-dele)

O instrutor possui um repositório de exemplo que pode ser acessado aqui: https://github.com/rcaneppele/fj91-clean-architecture. Acho que também pode ajudar no entendimento.

Espero ter ajudado.

Bons estudos!!