Por favor expliquem bem e com exemplos, li um pouco mais não consegui entender, em outro tópico teve uma pessoa que disse algo como, "não nos chame, nós chamamos você ", mas não entendi bem isso na programação, como é isso?
O que é inversão de controle?[RESOLVIDO]
3 Respostas
Olá xxmayconxx,
Também já tive algumas confusões com os conceitos de IoC e DI - Inversão de Controle e Dependency Injection. Recentemente, achei um material do Ivan Salvadori de Florianópolis, que possui um exemplo muito interessante. Segue o link: http://pt.scribd.com/doc/62794907/Injecao-de-Dependencia .
Inclusive ele segue um exemplo demonstrando passo a passo.
Espero ter ajudado!
Att.
Fernando Antonio Barbeiro Campos
Nunca gostei dos materias que encontrei sobre IoC. Principalmente porque acho o proprio nome confuso e errado.
IoC - você transfere a responsabilidade de um lugar para outro.
Exemplo: O Hibernate é um framework que facilita a conexão com o banco de dados, mapeamento de entidades em objetos (ORM), transação, etc. Ou seja, a responsabilidade por executar essas tarefas deixa de ser do desenvolvedor (que teria que fazer um código para isso) e passa a ser do framework.
E é por isso que acho muito errado usar a palavra inversão no nome. Nem sempre você inverte, muitas vezes apenas transfere.
Outra coisa que muitos confundem é dizer que IoC é DI. Não!
IoC, como expliquei acima, é o simples fato de transferir responsabilidade de um lugar para outro.
DI é injeção de dependencias, ou seja, não é necessário colocar um Object o = new Object(); no seu código. Um container fica responsável por injetar uma instância com suas dependências no seu objeto.
Ou seja, DI é um tipo de IoC, mas não significa que toda IoC seja uma DI.
Valeu pelo esclarecimento