Servicios
Los servicios en .NET son componentes que proporcionan funcionalidades específicas a otras partes de una aplicación. Se utilizan principalmente en aplicaciones basadas en ASP.NET Core y son fundamentales para la inyección de dependencias, lo que ayuda a mantener el código limpio, modular y fácil de probar.
🔄 Inyección de Dependencias (DI)
🔹 Es un patrón de diseño utilizado para lograr una baja acoplamiento entre clases. 🔹 Permite que las dependencias (como bases de datos, lógica de negocios, etc.) se pasen a las clases que las necesitan en lugar de crearlas internamente. 🔹 Facilita el mantenimiento y la prueba del código.
🛠 Tipos de Servicios
1️⃣Singleton
📌 Descripción: 🔹 Crea una única instancia de un servicio durante la vida útil de la aplicación. 🔹 Comparte la misma instancia en todas las solicitudes.
📋 Ejemplo:
2️⃣Transient
📌 Descripción:
🔹 Crea una nueva instancia de un servicio cada vez que se solicita.
🔹 Útil para servicios ligeros y sin estado.
📋 Ejemplo
3️⃣Scoped
📌 Descripción:
🔹 Crea una nueva instancia de un servicio por cada solicitud (por ejemplo, por cada solicitud HTTP). 🔹 Ideal para servicios que mantienen estado durante una solicitud.
📋 Ejemplo:
🧩 Cómo se Usan
🔹 Los servicios se registran en el contenedor de servicios (usualmente en el método ConfigureServices
de Startup.cs
).
🔹 Luego, se pueden inyectar en controladores, vistas o en otros servicios.
🔹 La inyección se hace a través de constructores, propiedades o métodos.
📝 Ejemplo Completo
En este ejemplo, IMiServicio
es una interfaz y MiServicio
es su implementación. El servicio se registra en Startup.ConfigureServices
y se inyecta en MiControlador
, donde se utiliza su método HacerAlgo
. Dependiendo de cómo se registre el servicio (Singleton, Transiente o Scoped), la instancia de MiServicio
se manejará de manera diferente por el contenedor de inyección de dependencias.
Última actualización