Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 17236|Resposta: 0

[Comunicação] Injeção de dependência, quais são os benefícios de usá-la?

[Copiar link]
Publicado em 10/02/2019 18:14:29 | | |
Primeiro, a criação de objetos relacionados de classes pode, de fato, ser feita por novo. No entanto, quando o projeto é grande demais e o objeto tem dependências demais, precisamos escrever muito código novo ao construir o objeto, e pode haver um método de chamar diretamente o objeto após esquecer de instanciar alguns objetos dependentes, então haverá uma exceção de ponteiro nulo. Se esse processo for deixado para o gerenciamento de contêineres, não precisamos nos preocupar com instanciação de objetos, e não haverá exceções de ponteiro nulo ao usar objetos dependentes em qualquer momento, e o código pode ser simplificado.
Segundo, os atributos usados no processo de chamada de método podem ser atributos de instância; se todos forem definidos como estáticos, e quanto aos dados usados no método? Se você definir todos os métodos como estáticos, então as propriedades da classe referenciada no método também devem ser definidas como estáticas, o que equivale a atributos globais, então certamente haverá problemas de sincronização de dados.
Na verdade, faz sentido pensar nos princípios de programação dados no padrão de design, todos voltados para construir código altamente legível, fácil de manter e escalável. Felicidades!

É conveniente montar software na forma de blocos de construção, e é conveniente criar softwares com alta coesão e baixo acoplamento (extraindo dependências do código)
Desenvolvimento colaborativo, depuração de código (não precisa integrar componentes, eles podem ser testados separadamente) e o código criado é mais robusto.

O desenvolvimento de projetos dá atenção à alta coesão e ao baixo acoplamento, e o uso da injeção de dependência pode evitar o uso da nova área de palavras-chave para criar objetos, reduzindo assim o acoplamento entre classes






Anterior:c# Marshal.PtrToEstrutura
Próximo:Criptografia, Descriptografia e Linguagem Assembly
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com