Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dificuldade em desacoplar na prática

Estou fazendo esse projeto, baseado em spring boot e o que estou vendo na prática é como é difícil na prática desacoplar tudo do framework. A parte da JPA, e Spring Data consegui desacoplar, mas a camada de aplicação e de de controller fica difícil. Annotations como @Service, @Transactional, @RestController e principalmente Bean Validations (ex: @CPF) é bem complicado. Parece que as injeções de dependência precisam ser feitas via @Bean e não ter essas anotations diretamente nas classes.

Vcs tem um projeto de exemplo onde existe Controllers e envio e recebimento de mensagens de forma desacoplada?

3 respostas

Oi Felipe,

Tenho um exemplo de projeto com Spring Boot utilizando essa separacao: https://github.com/rcaneppele/fj91-clean-architecture

Bons estudos!

Gostei do projeto de exemplo Rodrigo.

Mas hoje em dia eu tenho percebido que esse conceito de desacoplar do framework está sendo mais "ignorado" na prática, tendo em vista que são extremamente raras as mudanças de frameworks em projetos já maduros, principalmente se tratando de Spring e JPA.

Então vejo muitos devs já com experiência e bons de arquitetura simplesmente abraçando o framework e mantendo o cuidado em ter uma boa arquitetura e um código fácil de ler.

Qual a sua opinião sobre isso?

solução!

Oi Dyan,

Sim, tambem sou favoravel a essa ideia.

Quando utilizamos frameworks/especificacoes bem maduras e consolidadas no mercado como Spring, JPA, Bean Validations, sera bem menos provavel ter que substitui-los no futuro.

Na teoria esse desacoplamento total indicado pelo clean arch seria perfeito, pois nosso codigo ficaria totalmente livre de dependencias externas e seria super tranquilo trocar qualquer uma delas no projeto. Mas na pratica isso é muito dificil de fazer em um projeto, sendo que a complexidade do codigo aumentaria muito.

Por isso é extremamente importante avaliar com muita cautela os tradeoffs de cada solucao a ser adotada em um projeto.

Bons estudos!