Anexsoft | Blog y dictado de cursos de Tecnología

En este encontrarás tutoriales de tecnología como PHP, ASP.NET MVC, Front-End, entre otros y cursos exigentes de modalidad online que te ayudarán a crecer profesionalmente.

Queremos mejorar la calidad de nuestros cursos. Por favor ayúdanos llenando esta pequeña encuesta
Ejemplo de inyección de dependencia con NETCore
Actualizado el 04 Enero, 2018 y leído 2,581 veces
Calificación: 9.50 / 10

Ejemplo de inyección de dependencia con NETCore

Anexsoft

Antes de comenzar con este artículo sino tienes idea que es inyección de depencia te recomiendo leer la siguiente publicación.

Con NETCore tenemos inyección de dependencia nativo ya que, basicamente este ha sido construido mediante interfaces. Para este ejemplo vamos a ver los tipos de depencias que podemos registrar y como invocarlos desde una clase y una vista.

 

Ciclo de vida de nuestras dependencias

O digámosle tipos de registros que podemos tener en nuestro proyecto.

  • Transient: las dependencias son creadas cada vez que son solicitadas. Por ejemplo, en cada request de nuestra aplicación estas son creadas de nuevo. Es conveniente para liberar de la memoria cuando se dejen de usar.
  • Scoped: a diferencia del transient, mientras que estamos en el request y solicitamos una depencia esta será creada una sola vez hasta que el request muera.
  • Singleton: se creará una sola depencia para todo el ciclo de vida de nuestro proyecto o hasta que el servidor sea reiniciado. Ideal para inicializar clases con parámetros.

 

Registrando nuestras dependencias en el StartUp

El StartUp.cs es nuestra clase padre en la cual vamos a configurar el comportamiento de nuestra aplicación, para esto nos vamos a ir al método ConfigureServices y agregar nuestras dependencias. Bien, para ello necesitamos crear un intercace y hacer que lo implemente una clase.

public interface IUserService {
    // Tu hermoso código aquí
}

public class UserService : IUserService {
    // Tu hermoso código aquí
}
public void ConfigureServices(IServiceCollection services)
{
    services.AddTransient<IUserService , UserService>();
}

Registramos la clase y la interface, desde este punto ya podemos trabajar con las interfaces mediante su inyección en los constructores.

 

Llamando a las dependencias desde una clase

Previamente habiendo registrado nuestras dependencias podemos hacer uso de estas inicializandolas en el constructor de cada clase.

public class ExampleController {
    private readonly IUserService _userService;
    
    public ExampleController(IUserService userService) {
        _userService = userService;
    }
}

 

LLamando a las dependecias desde una vista

En la parte superior de tu vista o archivo razor simplemente agrega la siguiente línea de código.

@inject IUserService userService

<div class="row">
    <div class="col-xs-12">
        <h2>Módulo de usuarios </h2>
    </div>
</div>

 

¡Adquiera ya!

  • Software de Portafolio Profesional hecho en ASP.NET MVC 5 C#

    Software de Portafolio Profesional hecho en ASP.NET MVC 5 C#
  • Software de Venta e Inventario hecho en PHP y Codeigniter

    Software de Venta e Inventario hecho en PHP y Codeigniter
  • Código de fuente de Red Social desarrollada en ASP.NET MVC

    Código de fuente de Red Social desarrollada en ASP.NET MVC

Últimas publicaciones

Encuesta

¿Cómo nos conociste?

Síguenos

Estudia con nosotros y crece profesionalmente

Nuestros cursos han sido hecho en base a lo que demanda el mercado hoy en día.
La experiencia obtenida es la de un ambiente laboral.

Anexsoft
© 2018 Anexsoft, blog y cursos online de TI.