Falando de padrões, a Injeção de Dependência possibilita a diminuição sistemática
do acoplamento entre as classes e seus objetos. Quando discutimos os conceitos básicos de programação orientada a objetos, uma forma de conceituar este paradigma é: uma coleção de objetos que colaboram para resolução de um problema computacional. Discutindo aqui nessa disciplina, a importância da coesão, que podemos entender como coerência, e também a necessidade de diminuir o acoplamento, que seria em uma visão também simplista, a dependência entre os objetos. Compreenda que, como conceituamos o paradigma orientado a objetos, estabelecemos possivelmente uma relação forte entre os objetos, insinuando um forte acoplamento! Sendo assim, uma estratégia em desenvolver aplicações orientadas a objetos, tornando ainda a colaboração dos objetos o resultado computacional desejado, mas ainda, diminuindo a dependência entre esses mesmos objetos, justificou o surgimento do padrão de desenvolvimento Injeção de Dependência (do inglês Dependency Injection). Faça uma pesquisa e compartilhe aqui os conceitos-chave da Injeção de Dependência, e ainda, algum framework que possibilita o uso desse padrão! Excelente estudo, Faça uma pesquisa e compartilhe aqui os conceitos-chave da Injeção de Dependência, e ainda, algum framework que possibilita o uso desse padrão!
INJEÇÃO DE DEPENDÊNCIA
A injeção de dependência (ID) é um padrão de projeto que permite a
diminuição do acoplamento existente entre os diversos módulos de um sistema, a dependência entre os módulos não são definidos através de programas, mas sim pela configuração de uma infraestrutura de softwares responsável por injetar em cada componente as dependências declaradas. A injeção de dependência e de fácil aplicação. Existem três maneiras de se aplicar sendo elas: Injeção por construtor Injeção pelo método setter Injeção por interface Alguns dos frameworks mais utilizados que fazem uso da injeção de dependência são: o Spring, o Laravel e o AngularJS. O Spring se encarrega de instanciar as classes de uma aplicação Java, definindo as dependências entre elas através de um arquivo de configuração com o formato XML, inerências do framework. Desta forma o Spring permite o baixo acoplamento entre as classes de uma aplicação orientada a objetos.