Injeção de dependências, usar ou não usar?

Quero começar um novo projeto web, estou com dúvida em usar ?Injeção de dependências (google-guice)?.

O projeto é pequeno, com alguns CRUDs da vida, que vai rodar no Jetty ou no tomcat, o padrão básico que vou adotar é:
Web <-> Facade (Singleton) <-> Controle <-> DAO

Agora vem minha pergunta, devo adotar ?Injeção de dependências?? Por quê?

Quando adotar e quando não adotar ?Injeção de dependências??

Boa pergunta.

Não é obrigatório, mas IoC virou um grande padrão (esse bom) para qualquer projeto, pois cria menos acomplamento.

Agora obrigatório não é. Vai tornar o seu projeto mais flexível e testável, te obrigando a trabalhar com interfaces ao invés de classes concretas, que é o certo.

Seria bom vc utilizar um framework web que já tem suporte nativo a isso. Caso contrário vc vai ter que importar Spring, Guice, PicoContainer, MentaContainer, etc. para a sua salada de framworks Java.

Como um exemplo, veja como o Mentawai suporta IoC, DI e Auto-Wiriing de forma transparente e com meia-dúzia de linhas simples: http://www.mentaframework.org/mtw/Page/IoC/mentawai-inversao-de-controle

Tem projeto que puxa o Spring inteiro só para tomar uma simples injecão… Aí é soda mesmo… :slight_smile: