No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Inyecci贸n de dependencias

13/24
Recursos

Aportes 13

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Quiero hacer un aporte donde se explica claramente con un ejemplo el concepto de Inyecci贸n de Dependencias:

Inyecci贸n de dependencias

Inversi贸n de Control (IoC)

Un objeto o programa cede el control a alguien m谩s.

Inyecci贸n de Dependencias (DI)

Es una forma de implementar inversi贸n de control. Es una t茅cnica donde a un objeto le proveen las dependencias que necesita.

Formas de hacer inyecci贸n de depencias

  • Por constructor.
  • Por setter.
  • Por m茅todo.
  • Por interfaz.

La Inyecci贸n de Dependencias (Dependency Injection, DI) y la Inversi贸n de Control (Inversion of Control, IoC) son dos conceptos relacionados que se utilizan en el desarrollo de software para mejorar la modularidad, la flexibilidad y la mantenibilidad de una aplicaci贸n.
.
La Inversi贸n de Control (IoC) es un principio de dise帽o que busca invertir el control de la ejecuci贸n de un programa. En lugar de que un componente de software controle y gestione directamente sus dependencias y recursos, el control se delega a un contenedor o framework que maneja la creaci贸n y la resoluci贸n de dependencias. El componente simplemente declara las dependencias que necesita y el contenedor las provee.
.
La Inyecci贸n de Dependencias (DI) es una t茅cnica espec铆fica que se utiliza para implementar la Inversi贸n de Control. En la DI, las dependencias de un componente son inyectadas en 茅l en tiempo de ejecuci贸n, en lugar de ser creadas o gestionadas directamente por el propio componente. Esto se logra definiendo interfaces o clases abstractas para las dependencias, y luego configurando un contenedor o un framework para que resuelva e inyecte las implementaciones concretas en el componente.

No estaba conciente del tema de la inyecci贸n si no hasta hace algunos meses que comenc茅 a desarrollar en golang, muy interesante conocer los m茅todos ya que si lo he implementado m谩s no conoc铆a a detalle el concepto, y veo que hay m谩s formas de hacerlo, interesante creare un repo para aprender a implementarlos de las diferentes formas.

En lo personal, lo uso mucho en .NET 6,7 lo uso siempre, para .NET Framework he usado AutoFac para registar y resolver la dependencias a lo largo de la aplicaci贸n. La forma que he usado para inyectar ha sido por medio de constructor.

Carai, jam谩s hab铆a entendido con tanta claridad lo que es la inyecci贸n de dependencias. Alto crack!

He utilizado principalmente la inyecci贸n de dependencias en el ecosistema Java, tanto con Spring como con el stack JEE desde la versi贸n 6.

Ya hab铆a visto este v铆deo antes para la investigaci贸n de mi tesis, luego que desarroll茅 un prototipo aplicando patrones de arquitectura y esta t茅cnica, regreso para terminar el curso y ya lo veo m谩s claramente.

Actualmente estoy estudiando sobre el framework de Spring

La inyecci贸n de dependencias la he estado implementando m谩s 煤ltimamente porque nos permite desacoplarnos (dejar de depender de otros componentes) de libraries de terceros. La hemos realizado manualmente armando todo desde el lugar donde se implementan las cosas (en un controller o resolver). He usado typedi como contenedor de dependencias pero hasta ahora no he notado que aporte demasiado tener un contenedor, quiz谩s porque las apps no son gigantes.

Dato curioso: empezamos a ver mejores formas de hacer las cosas porque nos acoplamos muuucho a la autogeneraci贸n de c贸digo de Prisma 1鈥 y despu茅s ya no nos pudimos separar de esa versi贸n espec铆fica, y ahora el proyecto ya no se puede actualizar porque Prisma 1 est谩 deprecado y no le dan mantenimiento

En Node.js he utilizado la librer铆a InversifyJS, el cual es un contenedor de inversi贸n de control que usa el constructor de una clase para identificar e inyectar las dependencias.

Si la hemos utilizado pero ya dentro de .Net Core esta nueva funcionalidad la tenemos de base con lo cual es muy sencillo de implementar.