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:
- Injeção de dependência no BEF
- Injeção de dependência com BusinessComponent
- Injeção de dependência de TransactionContext
- Injeção de dependência no construtor de um componente de negócio
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.
Parabéns por mais uma excelente documentação. Totalmente excelente.
Muito obrigado Oda! Bora compartilhar com os times!