Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Framework de injeção de dependência

Gostaria da opinião de vocês a respeito de uma dúvida em relação às chamadas "boas práticas", termo esse que não gosto muito por induzir à certas confusões, mas vamos lá: Fuçando as bibliotecas do vraptor, percebi que ele utiliza o Spring, um framework de inversão de controle/injeção de dependência. Minha dúvida é: qual a real vantagem de se utilizar um framework de injeção de dependência no lugar de fazer isso dentro do próprio código, sem usar o framework? Vejam, não estou questionando a injeção de dependência em si, que acho uma técnica útil, mas o uso de frameworks para essa finalidade. Já vi algumas respostas para isso em alguns lugares na internet e revistas especializadas, mas nenhuma me convenceu. Na minha opinião usar um framework simplesmente par evitar de dar um new diretamente em um objeto não é justificativa, pois em algum momento precisaremos instanciar uma classe, criando um objeto; e inchar o sistema com um framework só para evitar de digitar uma linha de código não me parece ser algo muito inteligente de fazer. Nem mesmo o controle de ciclo de vida do objeto é justificativa para mim, já que isso na verdade é feito pela JVM e não pelo framework. Não é ele o responsável por descartar o objeto quando não for mais necessário, mas a infraestrutura da linguagem/plataforma. O que vocês acham? Alguma justificativa prática real para se usar um framework ao invés de fazer a inversão de controle e injeção de dependências diretamente?

1 resposta
solução!
  • Durante o curso eu venho aprendendo como fazer sem usar framework, isso é o mais importante, o framework é uma opção que pode ou não ser adotada. No meu ponto de vista quando mais limpo seu sistema melhor. O framework faz o que promete? Beleza!. Você acha válido? Vai de cada um. Mas acho que são válidos seus questionamentos.

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