Temario del curso
Introducción a la Plataforma Moderna de .NET
- Visión general del entorno de ejecución, SDK y plataforma unificada de .NET 8
- Comparación de la evolución de .NET Framework, .NET Core y .NET 8+
- Estructura del proyecto, frameworks objetivo y conceptos básicos de multi-targeting
- Configuración del entorno de desarrollo y herramientas
C# Moderno y Prácticas de Lenguaje Orientadas al Futuro
- Records, setters de solo inicialización (init-only) y patrones de inmutabilidad
- Mejoras en coincidencia de patrones (pattern matching) y expresiones switch
- Tipos de referencia anulables y seguridad impulsada por el compilador
- Mejores prácticas asíncronas/await y streaming eficiente en memoria
- Matemáticas genéricas, abstracciones estáticas en interfaces y APIs orientadas al rendimiento
- Preparación de bases de código para las características de C# 12/13 en .NET 8
Fundamentos y Arranque de Aplicaciones en ASP.NET Core
- Host builder, pipeline de middleware y ciclo de vida de la solicitud
- Minimal APIs vs APIs basadas en controladores: criterios de decisión
- Proveedores de configuración, ajustes específicos del entorno y gestión de secretos
- Archivos estáticos, enrutamiento y convenciones de endpoints
- Configuración del contenedor de inyección de dependencias y tiempos de vida de servicios
Diseño e Implementación de APIs REST
- Modelo de madurez REST, modelado de recursos y diseño de URIs
- Métodos HTTP, códigos de estado y negociación de contenidos
- Validación de solicitudes, enlace de modelos e integración con FluentValidation
- Estrategias de versionado para APIs públicas e internas
- Documentación con OpenAPI y Swagger UI
- Pruebas de integración de APIs con TestServer y WebApplicationFactory
Inyección de Dependencias Empresarial e Inversión de Control
- Inyección por constructor, tiempos de vida de servicios y dependencias cautivas
- Patrones de decorador y fábrica con el contenedor integrado
- Integración de Scrutor y bibliotecas DI de terceros
- Registro modular de servicios y organización basada en características
- Preocupaciones transversales (cross-cutting concerns) mediante middleware y filtros
Logging, Configuración y Manejo Centralizado de Errores
- Logging estructurado con Microsoft.Extensions.Logging y Serilog
- Niveles de registro, ámbitos (scopes), enriquecimiento y configuración de sinks
- Middleware de excepciones y pipelines globales de manejo de errores
- ProblemDetails y respuestas de error compatibles con RFC 7807
- Comprobaciones de estado (health checks), telemetría y ganchos de observabilidad
- ID de correlación y preparación para trazado distribuido
Arquitectura de Software para Soluciones Empresariales en .NET
- Principios de arquitectura en capas, hexagonal y limpia
- Bloques de construcción de diseño dirigido por el dominio (DDD) en .NET
- Patrones CQRS y mediador con MediatR
- Patrones Repositorio y Unidad de Trabajo con EF Core
- Arquitectura de 'vertical slice' para cohesión de características
- Evaluación de compensaciones entre monolito, monolito modular y microservicios
Seguridad para Aplicaciones Web y APIs
- Esquemas de autenticación: JWT, OAuth2, OpenID Connect y flujos basados en cookies
- Políticas de autorización, acceso basado en claims y guards basados en recursos
- Ejecución de HTTPS, HSTS y middleware de encabezados seguros
- Sanitización de entrada, codificación de salida y mitigación del Top 10 de OWASP
- Límite de tasas (rate limiting), políticas CORS y manejo de tokens anti-falsificación
- Gestión de secretos con Azure Key Vault y rotación basada en el entorno
Calidad del Código, Mantenibilidad y Mejores Prácticas
- Estándares de codificación, EditorConfig y dotnet format
- Análisis estático con analizadores Roslyn e integración con SonarQube
- Pruebas unitarias con xUnit, simulación (mocking) con Moq o NSubstitute
- Pruebas de integración y de contratos en pipelines de CI
- Técnicas de refactorización para módulos legacy de larga vida
- Documentación, contratos de API y prácticas de intercambio de conocimientos
Estrategia de Modernización: Evaluación del Código Legacy de .NET Framework
- Análisis de portafolio: clasificar aplicaciones por criticidad, complejidad y valor empresarial
- Uso del .NET Upgrade Assistant y el analizador de compatibilidad
- Identificación de APIs obsoletas, dependencias específicas de plataforma y brechas de terceros
- Consideraciones para APIs específicas de Windows y migración de WCF
- Creación de una hoja de ruta de migración con priorización basada en riesgos
Técnicas de Migración Progresiva y Coexistencia
- Patrón Strangler Fig: reemplazo incremental de subsistemas legacy
- Migración API-first: exponer dominios de .NET Framework mediante fachadas REST
- Puenteo basado en mensajes con RabbitMQ, Azure Service Bus o Kafka
- Coexistencia en base de datos compartida y estrategias de versionado de esquemas
- Ejecución side-by-side de .NET Framework y .NET 8 en la misma infraestructura
- Contenerización de componentes modernos mientras se deja el legado en IIS
Laboratorio Práctico de Migración y Revisión
- Aplicación del Upgrade Assistant a un proyecto legacy representativo
- Refactorización de un servicio Web Forms o WCF hacia APIs ASP.NET Core
- Implementación de DI, logging y manejo centralizado de errores en la solución migrada
- Agregación de autenticación y autorización a la nueva superficie de API
- Verificación de la coexistencia mediante pruebas de integración de extremo a extremo
- Revisión, preguntas y respuestas (Q&A) y orientación para la planificación de modernización post-formación
Requerimientos
- Experiencia con programación en C# y principios de diseño orientado a objetos
- Conocimientos básicos de desarrollo web (HTTP, HTML, CSS, JavaScript)
- Comprensión básica de bases de datos relacionales y SQL
- Experiencia previa con .NET Framework o ASP.NET es útil pero no requerida
Audiencia
- Desarrolladores y arquitectos .NET que se preparan para modernizar aplicaciones legacy de .NET Framework
- Ingenieros de software que ingresan a roles de desarrollo empresarial en .NET
- Líderes técnicos responsables de la planificación de migración y coexistencia de plataformas
- Personal de DevOps e infraestructura que da soporte a los ciclos de vida de aplicaciones .NET
Testimonios (2)
Interactividad y soluciones de código al momento
Eduard-Emanuel Zaharia - Kruk Italia
Curso - Advanced Blazor
Traducción Automática
oportunidad de trabajar de forma práctica y paciencia del formador
sheena - Te Manawa Taki Trauma System
Curso - Visual Studio 2022 IDE
Traducción Automática