Skip to main content

O que é injeção de dependência?

A injeção de dependência é uma técnica usada na programação orientada a objetos (OOP). Essa técnica faz referência ou se conecta a outro programa e torna o programa original dependente do programa referenciado. Isso permite que os programadores adicionem instantaneamente funções ou recursos extras ao programa original, mas também torna a codificação mais complicada e adiciona uma codificação excessiva que pode retardar o programa. A maioria dos programas OOP permite que os programadores façam referência a uma variedade de programas instalados sem precisar adicionar código.

O uso de injeção de dependência geralmente é poupador na maioria dos programas. Para tornar o programa dependente, o programador escreve código que faz referência a outro programa, em parte ou no todo. Normalmente, qualquer programa instalado pode ser referenciado, mas alguns esquemas de codificação permitem que apenas programas específicos sejam referenciados. Por exemplo, se o programador desejar adicionar recursos de texto ao programa, em vez de criar o recurso manualmente, ele poderá fazer referência a um programa de processamento de texto. Ao fazer isso, o programa original agora possui um novo recurso, mas depende desse outro programa funcionando e permanecendo instalado no computador.

A maioria dos novos programadores prefere usar injeção de dependência em vez de criar recursos manualmente. Isso ocorre porque os recursos de construção podem ser complicados e os novos programadores podem não saber como efetivamente fazê-lo. Ao referenciar um programa, o programador não precisa conhecer a codificação e qualquer recurso pode ser adicionado com apenas algumas linhas de código.

Existem muitos problemas com a injeção de dependência, especialmente se o programa é voltado para consumidores, e é por isso que muitas vezes não é usado ou usado com moderação por profissionais e fornecedores de software. Um dos problemas mais óbvios com a injeção de dependência no lado do consumidor é a possibilidade de o consumidor não ter o programa referenciado. Se o programa for construído para referenciar um recurso no Programa A, mas o consumidor não tiver o Programa A instalado, o recurso ou o programa inteiro encontrará um erro debilitante.

Em altos níveis de dependência, onde vários programas são referenciados, outros problemas se manifestam. Fazer referência a um ou dois programas cria uma pequena quantidade de código, mas fazer mais pode exigir código excessivo que atrasa o programa. Se o programa apresentar um erro, agora há uma grande quantidade de codificação complicada que o programador precisa percorrer para encontrar o erro, principalmente porque o erro pode estar no programa referenciado e não no programa original.

Muitos novos programadores usam injeção de dependência; portanto, a maioria dos esquemas de POO oferece uma maneira automática de fazer referência a um programa. Isso permite que o programador, com apenas alguns cliques do mouse, faça a conexão de referência. A referência automática a um programa geralmente adiciona um pouco mais de codificação do que a escrita manual, mas como o programador é novo e o programa provavelmente não irá para os consumidores, isso não deve causar problemas sérios.