Temario del curso
Introducción a la plataforma .NET moderna
- Descripción general del entorno de ejecución .NET 8, SDK y plataforma unificada
- Comparación de la evolución de .NET Framework, .NET Core y .NET 8+
- Estructura del proyecto, marcos de destino y conceptos básicos de multipropósito
- Configuración del entorno de desarrollo y herramientas
C# moderno y prácticas de lenguaje orientadas al futuro
- Registros, setters solo de inicialización y patrones de inmutabilidad
- Mejoras en el emparejamiento de patrones y expresiones switch
- Tipos de referencia anulables y seguridad impulsada por el compilador
- Mejores prácticas de async/await y transmisión eficiente en memoria
- Matemáticas genéricas, abstractos estáticos en interfaces y API orientadas al rendimiento
- Preparación de bases de código para las características de C# 12/13 en .NET 8
Fundamentos de ASP.NET Core y arranque de la aplicación
- Host builder, pipeline de middleware y ciclo de vida de la solicitud
- API mínimas frente a API basadas en controladores: criterios de decisión
- Proveedores de configuración, configuraciones específicas del entorno y gestión de secretos
- Archivos estáticos, enrutamiento y convenciones de puntos finales
- Configuración del contenedor de inyección de dependencias y tiempos de vida de servicios
Diseño e implementación de API REST
- Modelo de madurez REST, modelado de recursos y diseño de URI
- Métodos HTTP, códigos de estado y negociación de contenido
- Validación de solicitudes, vinculación de modelos e integración con FluentValidation
- Estrategias de versionado para API públicas e internas
- Documentación con OpenAPI y Swagger UI
- Pruebas de integración de API con TestServer y WebApplicationFactory
Inyección de dependencias empresarial e inversión de control
- Inyección en el constructor, tiempos de vida de servicios y dependencias cautivas
- Patrones de decorador y fábrica con el contenedor incorporado
- Integración de Scrutor y bibliotecas DI de terceros
- Registro modular de servicios y organización basada en características
- Preocupaciones transversales mediante middleware y filtros
Registro de eventos (Logging), configuración y manejo centralizado de errores
- Registro estructurado con Microsoft.Extensions.Logging y Serilog
- Niveles de registro, ámbitos, 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, telemetría y ganchos de observabilidad
- Identificadores de correlación y preparación para rastreo distribuido
Arquitectura de software para soluciones empresariales .NET
- Principios de arquitectura en capas, hexagonal y limpia
- Elementos constructores de diseño orientado al dominio en .NET
- Patrones CQRS y mediator con MediatR
- Patrones de repositorio y unidad de trabajo con EF Core
- Arquitectura de fragmentos verticales para cohesión de características
- Evaluación de compensaciones entre monolito, monolito modular y microservicios
Seguridad para aplicaciones web y API
- Esquemas de autenticación: JWT, OAuth2, OpenID Connect y flujos basados en cookies
- Políticas de autorización, acceso basado en afirmaciones y protección basada en recursos
- Aplicación de HTTPS, HSTS y middleware de encabezados seguros
- Sanitización de entrada, codificación de salida y mitigación de las OWASP Top 10
- Limitación de velocidad, políticas CORS y manejo de tokens anti-falsificación
- Gestión de secretos con Azure Key Vault y rotación impulsada por 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 con Moq o NSubstitute
- Pruebas de integración y de contrato 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 heredado de .NET Framework
- Análisis de portafolio: clasificar aplicaciones por criticidad, complejidad y valor empresarial
- Uso de .NET Upgrade Assistant y analizador de compatibilidad
- Identificación de API obsoletas, dependencias específicas de la plataforma y brechas de terceros
- Consideraciones para la migración de APIs específicas de Windows y WCF
- Creación de una hoja de ruta de migración con priorización basada en riesgos
Migración progresiva y técnicas de coexistencia
- Patrón Strangler Fig: reemplazo incremental de subistemas legacy
- Migración primero con API: exposición de dominios de .NET Framework a través de fachadas REST
- Puente basado en mensajes con RabbitMQ, Azure Service Bus o Kafka
- Coexistencia de bases de datos compartidas y estrategias de versionado de esquema
- Ejecución simultánea de .NET Framework y .NET 8 en la misma infraestructura
- Containerización de componentes modernos mientras se deja el legacy en IIS
Taller práctico de migración y revisión
- Aplicación de Upgrade Assistant a un proyecto legacy representativo
- Refactorización de un servicio Web Forms o WCF hacia API en ASP.NET Core
- Implementación de DI, logging y manejo centralizado de errores en la solución migrada
- Añadido 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, 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
- Conocimiento de conceptos de desarrollo web (HTTP, HTML, CSS, conceptos básicos de JavaScript)
- Comprensión básica de bases de datos relacionales y SQL
- Exposición previa a .NET Framework o ASP.NET es útil pero no requerida
Público objetivo
- Desarrolladores y arquitectos de .NET que se preparan para modernizar aplicaciones heredadas de .NET Framework
- Ingenieros de software que transicionan hacia roles de desarrollo empresarial en .NET
- Líderes técnicos responsables de la migración de plataformas y planificación de coexistencia
- 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