Upgrade to Pro — share decks privately, control downloads, hide ads and more …

5 Estrategias Avanzadas con Inyección de Dependencias

Lautaro Carro
September 30, 2023

5 Estrategias Avanzadas con Inyección de Dependencias

Lautaro Carro

September 30, 2023
Tweet

More Decks by Lautaro Carro

Other Decks in Technology

Transcript

  1. { "name": "Lautaro Carro", "username": "@lauchacarro ", "award": "Microsoft MVP

    🏆", "job": "Tech Lead y Coach en Algeiba 💻", "activities": ["Latino .NET Online", "Rest Of My Cloud"] }
  2. ¿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.
  3. ¿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.
  4. ¿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).
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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().