O que é inversão de controle?[RESOLVIDO]

3 respostas
X

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?

3 Respostas

F

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

G

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.

X

Valeu pelo esclarecimento

Criado 17 de outubro de 2011
Ultima resposta 21 de out. de 2011
Respostas 3
Participantes 3