Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

{ "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().

Slide 27

Slide 27 text

MUCHAS GRACIAS