Injeção de dependência

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Injeção de dependência (Dependency Injection, em inglês) é um padrão de desenvolvimento de programas de computadores utilizado quando é necessário manter baixo o nível de acoplamento entre diferentes módulos de um sistema. Nesta solução as dependências entre os módulos não são definidas programaticamente, mas sim pela configuração de uma infraestrutura de software (container) que é responsável por "injetar" em cada componente suas dependências declaradas. A Injeção de dependência se relaciona com o padrão Inversão de controle mas não pode ser considerada um sinônimo deste.

Com a utilização da injeção de dependência os objetos não precisam mais ficar responsáveis por controlar seu próprio ciclo de vida, como acontece com o padrão de projeto Singleton que pode até ser considerado um anti-pattern já que fere o principio de responsabilidade unica.

Hoje no mercado existem diversos frameworks, de várias linguagens de programação diferentes, que implementam o conceito de injeção de dependência. Dentre esses podem ser citados, Weld, Guice[1], PHP-DI[2] e PyCDI[3]. Também existem frameworks de propósitos mais gerais que fazem uso de injeção de dependência como o Spring, o Laravel[4] e o AngularJS[5].

Referências

  1. «google/guice». GitHub (em inglês). Consultado em 9 de maio de 2017 
  2. «PHP-DI - The Dependency Injection Container for humans». php-di.org. Consultado em 9 de maio de 2017 
  3. «ettoreleandrotognoli/python-cdi». GitHub (em inglês). Consultado em 9 de maio de 2017 
  4. Otwell, Taylor. «Service Container - Laravel - The PHP Framework For Web Artisans». laravel.com. Consultado em 9 de maio de 2017 
  5. «AngularJS». docs.angularjs.org (em inglês). Consultado em 9 de maio de 2017 

Ver também[editar | editar código-fonte]

Ligações externas[editar | editar código-fonte]