{
"name": "Lautaro Carro",
"username": "@lauchacarro ",
"award": "Microsoft MVP 🏆",
"job": "Tech Lead y Coach en Algeiba 💻",
"activities": ["Latino .NET Online", "Rest Of My Cloud"]
}
Slide 3
Slide 3 text
¿Qué es la Inyección De
Dependencias?
Slide 4
Slide 4 text
¿Qué es la Inyección De
Dependencias (DI)?
❑ Es un patrón de diseño que se utiliza para gestionar las dependencias entre
los diferentes componentes de una aplicación.
Slide 5
Slide 5 text
¿Qué es la Inyección De
Dependencias (DI)?
❑ Es un patrón de diseño que se utiliza para gestionar las dependencias entre los diferentes componentes
de una aplicación.
❑ En lugar de que un componente cree directamente sus dependencias
( new() ), las dependencias se inyectan o proporcionan desde el exterior.
Slide 6
Slide 6 text
¿Qué es la Inyección De
Dependencias (DI)?
❑ Es un patrón de diseño que se utiliza para gestionar las dependencias entre los diferentes componentes
de una aplicación.
❑ En lugar de que un componente cree directamente sus dependencias ( new() ), las dependencias se
inyectan o proporcionan desde el exterior.
❑ Se basa en el principio de la inversión de control (IoC), donde el control
sobre la creación y gestión de objetos se traslada a un contenedor de IoC
(También conocido contenedor de dependencias).
Slide 7
Slide 7 text
Ciclos De Vida
Slide 8
Slide 8 text
Lifetime Singleton
❑ El servicio Singleton se crea una sola vez y se mantiene durante toda la
vida de la aplicación. Es útil para datos que deben compartirse en toda la
aplicación.
Slide 9
Slide 9 text
Lifetime Scoped
❑ El servicio Scoped se crea una vez por Request HTTP. Esto significa que una
instancia se mantiene durante toda la Request, pero se reinicia en cada
Request HTTP diferente. Es útil para compartir datos a lo largo de una
Request.
Slide 10
Slide 10 text
Lifetime Transcient
❑ El servicio Transcient se crea cada vez que se solicita. Esto significa que se
genera una nueva instancia para cada solicitud. Es útil cuando se necesita
una instancia efímera y única para cada llamada.
Slide 11
Slide 11 text
ServiceCollection
VS
ServiceProvider
Slide 12
Slide 12 text
ServiceCollection y
ServiceProvider
❑IServiceCollection es una interfaz utilizada para configurar y definir
servicios en ASP.NET Core. Es el lugar donde se registran los servicios que
estarán disponibles en la aplicación.
❑ IServiceProvider es una interfaz que se utiliza para acceder y resolver
servicios registrados en el contenedor de servicios de ASP.NET Core.
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
5 Usos avanzados de DI
en Asp NET Core
Slide 15
Slide 15 text
Una Interfaz, muchas
implementaciones
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
Método personalizado para
la creación de la instancia
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
Registro de servicios con
Reflection
Slide 20
Slide 20 text
No content
Slide 21
Slide 21 text
Inyección de dependencias
+ Lazy loading
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
Implementación de otros
patrones de diseños
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
Conclusiones
Slide 26
Slide 26 text
Conclusiones
❑ La interfaz IServiceProvider es muy útil para desarrollar prácticas que
beneficien al desarrollo de software.
❑ No está mal utilizar la interfaz siempre y cuando sea a bajo nivel. Ósea no
usarla directamente con nuestro código de aplicación
❑ La inyección de dependencias permite que nuestros proyectos sean
testeables, mantenibles y escalables. NO arruinemos esto usando New().