← Volver a Back.Domain

⚙️ Configuration

Modelos de configuración para la aplicación y servicios externos

📊 Resumen del Módulo

5
Clases de Configuración
4
Categorías
19
Líneas Máximas
100%
Configuradas

El módulo Configuration contiene todos los modelos de configuración utilizados en el sistema RestMaster. Estas clases definen la estructura de configuración para diferentes aspectos de la aplicación, desde conexiones de base de datos hasta configuraciones de servicios externos.

🎯 Propósito de la Configuración

  • Configuración Centralizada: Todos los parámetros en un lugar
  • Tipado Fuerte: Configuración con tipos específicos
  • Inyección de Dependencias: Configuración inyectable en servicios
  • Validación: Validación automática de configuración
  • Flexibilidad: Configuración adaptable a diferentes entornos

📁 Clases de Configuración

AppSettings

Clase principal de configuración que agrupa todas las configuraciones de la aplicación.

Ver Documentación

ConnectionStrings

Configuración de cadenas de conexión para diferentes bases de datos.

Ver Documentación

AccessSettings

Configuración de credenciales y parámetros de acceso a la base de datos.

Ver Documentación

APISettings

Configuración de parámetros específicos de la API.

Ver Documentación

LokiSettings

Configuración para el sistema de logging Loki.

Ver Documentación

🔍 Características de la Configuración

📝 Patrones de Configuración

  • Options Pattern: Uso del patrón de opciones de .NET
  • Configuration Binding: Vinculación automática con appsettings.json
  • Validation Attributes: Validación automática de configuración
  • Dependency Injection: Inyección de configuración en servicios

🎯 Características Técnicas

  • Auto Properties: Propiedades automáticas para simplicidad
  • Nullable Reference Types: Manejo explícito de valores nulos
  • Default Values: Valores por defecto apropiados
  • Type Safety: Tipos fuertemente tipados

🔧 Configuración por Entorno

  • Development: Configuración para desarrollo local
  • Staging: Configuración para entorno de pruebas
  • Production: Configuración para producción
  • Variables de Entorno: Soporte para configuración externa

🔗 Integración con Otros Módulos

📚 Módulos Relacionados

  • Back.API: Utiliza la configuración para inicializar servicios
  • Back.Application: Utiliza la configuración en servicios de aplicación
  • Common.Domain: Los modelos pueden usar configuración
  • Middleware: Los middlewares pueden usar configuración

🎯 Casos de Uso

  • Inicialización de Servicios: Configuración de servicios al inicio
  • Conexiones de Base de Datos: Configuración de conexiones
  • Servicios Externos: Configuración de APIs y servicios
  • Logging: Configuración de sistemas de logging
  • Seguridad: Configuración de parámetros de seguridad

📋 Estructura de Configuración

🏗️ Jerarquía de Configuración

  • AppSettings: Clase raíz que contiene todas las configuraciones
  • ConnectionStrings: Configuración de bases de datos
  • AccessSettings: Credenciales y acceso
  • APISettings: Configuración específica de la API
  • LokiSettings: Configuración de logging

🔐 Consideraciones de Seguridad

  • Credenciales: Almacenamiento seguro de credenciales
  • Variables de Entorno: Uso de variables de entorno para datos sensibles
  • User Secrets: Soporte para secretos de usuario en desarrollo
  • Azure Key Vault: Integración con Azure Key Vault en producción