Você sabe o que é Injeção de Dependência?

A injeção de dependência (Dependency Injection) é um padrão de desenvolvimento de software que mantém um baixo nível de acoplamento entre as classes. Desta forma, a única coisa que a classe onde a dependência é injetada precisa conhecer é o contrato (interface ou classe abstrata), tornando a classe independente de seus objetivos.

Podemos destacar como vantagens da injeção de dependência:

  • Melhoria da implementação de testes automatizados, simulando por exemplo os dados de teste.
  • Substituição de funcionalidades padrão por recursos personalizados, possibilitando que uma classe com uma funcionalidade diferente seja injetada, realizando algo de forma alternativa.
  • Facilidade de refatoração, uma vez que os códigos são injetados, fica muito mais fácil a manutenção.

Como uma desvantagem de injeção de dependência podemos citar a responsabilidade por criar as dependências e injetar nas classes – instanciar os objetos que serão passados para a classe – fica a cargo da ferramenta de injeção utilizada.

A injeção de dependência é uma importante parte do SOLID (os cinco princípios da orientação a objetos e design de código), pois permite atender ao princípio de Inversão de Controle:

S — Single Responsiblity Principle (Princípio da responsabilidade única)

O — Open-Closed Principle (Princípio Aberto-Fechado)

L — Liskov Substitution Principle (Princípio da substituição de Liskov)

I — Interface Segregation Principle (Princípio da Segregação da Interface)

D — Dependency Inversion Principle (Princípio da inversão da dependência) – Inversion of Control = Dependency Injection

Na Benner, usamos o framework Ninject para injeção de dependências.

Quer saber como usamos Injeção de Dependência na Benner?

Temos muito exemplo de como usar a injeção de dependências na Benner, em nossa Wiki, destacamos os seguintes artigos:

Além disso, temos uma série de vídeos no Treinamento da Tecnologia Benner, explicando como se usa a injeção de dependência:

Parte 1 – #005 – Regra de Negócio para Reserva: Usando o DAO

Parte 2 – #006 – Criando os Projetos de IoC para a Regra de Negócio

Parte 3 – #007 – Injetando a Dependência

Parte 4 – #008 – Devolver e Recusar a Reserva (Exercício)

Além disso, nosso especialista no assunto Michael Prust do desenvolvimento do RH/Blumenau, apresentou um BE.TECH sobre o assunto e nos trouxe muitos exemplos de uso, o vídeo gravado pode ser visto abaixo:

Se depois de tudo isso, você ainda tiver dúvidas, venha falar conosco ou poste sua dúvida num comentário, teremos o maior prazer em responder.

Até a próxima.

Um abraço, Danton C. Franco Junior.

Compartilhe
Autor
Leia mais
3 comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *