É um padrão comum entre frameworks que tem o objetivo de fazer a amarração entre os componentes de uma aplicação.

Era um problema comum, amarrar diferentes elementos da aplicação, sendo que foram criados por pessoas diferentes, com pouco conhecimento entre si. A partir daí, vários frameworks apareceram para tentar resolver este problema, e muitos deles se expandiram para prover capacidade de amarrar componentes de diferentes camadas. Estes são chamados containers leves, e têm como exemplo o PicoContainer e o Spring.

Inversão de controle é um termo mais amplo, assim, foi estabelecida uma especificação para o padrão que foi chamada de injeção de dependências. A idéia básica da injeção de dependências é ter um objeto separado, que popula um campo em um objeto com uma implementação apropriada para a interface criada.

Existem três tipos principais de injeção de dependências:
* Injeção por Construtores;
* Injeção por Métodos Set;
* Injeção por Interfaces.

Assista o vídeo no vimeo, acompanhe os slides no slideshare.

Autor

André Faria Gomes é executivo, empreendedor, investidor, mentor, gerente, escritor, palestrante, podcaster e agilista. Atualmente, é CEO da Bluesoft em São Paulo, investidor e membro do conselho da Wow e mentor da Liga Ventures.

Deixe aqui o seu comentário