Eu li sobre injeção de dependência. Então vem aí
- Injeção de Construtor,
- Injeção de Getter
- Injeção Setter
- Injeção de interface
Como eles diferem da Injeção de Dependência ou todos eles são iguais? Fazer o que Injeção Significa aqui? Apenas dando o Object / Parameter necessário para a classe? Como Injeção de Construção significa passar o parâmetro requerido como o parâmetro do construtor? Ou eu estou esquecendo de alguma coisa?
Respostas:
3 para resposta № 1Injeção de dependência é o ato de fornecer uma classe com suas dependências, fornecendo-as por um terceiro.
Injeção de Construtor é a forma mais comum deInjeção de dependência. Injeção de Construtor é o ato de definir estaticamente a lista de dependências necessárias, especificando-as como parâmetros para o construtor da classe.
Injecção Setter (a.k.a. Injeção de Propriedade) e Injeção de Método (com Injeção de Interface sendo uma especialização de Injeção de Método) são formas alternativas de fornecer (ou "injetar") a dependência na classe de consumo.
O Getter Injection, no meu conhecimento, não existe. Um Getter só é capaz de recuperar valores, não configuração eles, o que é um requisito para Dependência Injeção.
Então, Injeção de Construtor, Injeção de Setter e Injeção de Interface são todos formulários de Injeção de Dependência. Injeção de Construtor é a forma mais comum de DI e força uma classe a ser criada com todos dependências exigidas. A injeção de construtor deve, portanto, ser sua forma preferida de DI. Existem casos, no entanto, onde o Método de Injeção ou a Injeção de Propriedade também fazem sentido. O livro Injeção de Dependência na segunda edição do .NET (por Mark Seemann e eu) entra em muitos detalhes sobre essas formas de DI (especialmente Capítulo 4).