none
Injeção de Dependencia RRS feed

  • Pergunta

  • Fala Pessoal tudo beleza..?
    Pessoal é o seguinte, estava estudando sobre Injeção de Dependencia e Inversão de controle, li diversos artigos e tutoriais na internet sobre o tema mas não ficou claro para mim, notei que é para evitar o alto acoplamento entre objetos mas realmente não entendi a maneira de usar, a maneira de criar um software que enquadre com estes modelos.
    Alguém poderia me ajudar a entender exatamente o que é isso e como utilizar..?
    Abs
    quinta-feira, 11 de fevereiro de 2010 18:20

Respostas

  • Injeção de dependencia é um design pattern que ajuda a implementar a inversão de controle. Ou seja pense em uma aplicação com tres camadas, Interface, modelo e Acesso a Dados se vc for pensar essas camadas em tres projetos diferentes seria a interface ter referencia da camada de modelo e acesso a dados. A inversão de controle significa que sua interface nao precisa depender da referencia explicita a camada de acesso a dados. Ou seja vc só depende das assinaturas dos metodos que estao na classe modelo. Um exemplo pratico, vc poderia criar duas camadas de acesso a dados, uma para oracle e outra para sql server, essas apenas implementariam as interfaces do modelo, ai ficaria a cargo de uma classe que implementaria um padrao registry ou algo assim para verificar qual classe ele deve instanciar e passar para a interface. Ou seja vc nao depende mais do acesso a dados para sua aplicação funcionar, vc carrega ela dinamicamente dependendo do contexto, este é uma das principais aplicações destes dois padroes juntos.
    Se sua pergunta foi respondida por favor marque a resposta como certa.
    • Marcado como Resposta x.programmer sexta-feira, 12 de fevereiro de 2010 12:37
    sexta-feira, 12 de fevereiro de 2010 01:09

Todas as Respostas

  • Injeção de dependencia é um design pattern que ajuda a implementar a inversão de controle. Ou seja pense em uma aplicação com tres camadas, Interface, modelo e Acesso a Dados se vc for pensar essas camadas em tres projetos diferentes seria a interface ter referencia da camada de modelo e acesso a dados. A inversão de controle significa que sua interface nao precisa depender da referencia explicita a camada de acesso a dados. Ou seja vc só depende das assinaturas dos metodos que estao na classe modelo. Um exemplo pratico, vc poderia criar duas camadas de acesso a dados, uma para oracle e outra para sql server, essas apenas implementariam as interfaces do modelo, ai ficaria a cargo de uma classe que implementaria um padrao registry ou algo assim para verificar qual classe ele deve instanciar e passar para a interface. Ou seja vc nao depende mais do acesso a dados para sua aplicação funcionar, vc carrega ela dinamicamente dependendo do contexto, este é uma das principais aplicações destes dois padroes juntos.
    Se sua pergunta foi respondida por favor marque a resposta como certa.
    • Marcado como Resposta x.programmer sexta-feira, 12 de fevereiro de 2010 12:37
    sexta-feira, 12 de fevereiro de 2010 01:09
  • Valeu Danimar, ajudou bastante, ficou mais claro para mim agora.
    Abraços.
    sexta-feira, 12 de fevereiro de 2010 12:36
  • Este artigo que criei pode ajudar. Eu crio justamente um projeto em 3 camadas com injeção de dependência.

     

    http://comunidade.codificando.net/profiles/blogs/injecao-de-dependencia-com

     

    Att,

     

    Rafael Zaccanini

    sexta-feira, 5 de novembro de 2010 02:54