Ponte en Contacto
 Duración 35 horas

Temario del curso

De las habilidades de lenguaje al diseño de soluciones

  • Características avanzadas de C# y sus implicaciones de diseño.
  • Recuperar la intención de diseño a partir de código existente.

Análisis de requisitos y modelación de dominio

  • Casos de uso, historias de usuario y criterios de aceptación.
  • Modelos de dominio y lenguaje ubicuo.

Principios de diseño de software

  • Aplicación de los principios SOLID en soluciones .NET.
  • Coplamiento, cohesión y dirección de dependencias.

Patrones de diseño para aplicaciones .NET

  • Selección de patrones creacionales, estructurales y comportamentales.
  • Patrones y antipatrones en el código existente.

Estilos arquitectónicos y toma de decisiones técnicas

  • Comparación entre arquitectura en capas, arquitectura hexagonal y arquitectura limpia.
  • Registros de decisiones arquitectónicas y análisis de compensaciones (trade-offs).

Planificación de la estructura de la solución

  • Organización de soluciones y proyectos para bases de código grandes.
  • Monolito modular versus límites orientados a servicios.

C# moderno para código mantenible

  • Correspondencia de patrones (pattern matching), registros (records) y tipos de referencia nulos.
  • Genéricos, LINQ y composición funcional.

Manejo de excepciones, registros y observabilidad

  • Estrategia de excepciones y contratos de error.
  • Registro estructurado (structured logging), correlación y verificaciones de salud.

Reflexión, atributos y metaprogramación

  • Diseño basado en atributos y casos de uso de la reflexión.
  • Generadores de código fuente y generación de código en tiempo de compilación.

Fundamentos de ASP.NET Core

  • Modelo de alojamiento (hosting), inyección de dependencias y configuración.
  • Flujo de solicitud (request pipeline), middleware y filtros.

Diseño de API REST

  • Modelado de recursos y semántica HTTP.
  • Versionado, validación y respuestas de error.
  • Contratos de API con OpenAPI.

Protección de aplicaciones .NET

  • Autenticación y autorización con OpenID Connect.
  • Autorización basada en políticas y gestión de secretos.

Modelado de amenazas y diseño seguro

  • Modelado STRIDE y límites de confianza (trust boundaries).
  • Revisión de diseño seguro antes de la implementación.

Acceso a datos con Entity Framework Core

  • Modelado de entidades y relaciones.
  • Ciclo de vida de DbContext y estrategia de migraciones.

Rendimiento de consultas y arquitectura de datos

  • Estrategias de carga (loading) y peligros de la carga anticipada (eager loading).
  • Transacciones, tokens de concurrencia y el uso alternativo a EF (bypassing EF).

Concurrencia y programación asíncrona

  • Tasks, TPL y los peligros de async/await.
  • Sincronización, cancelación y seguridad de hilos (thread safety).

Optimización del rendimiento

  • Perfiles (profiling) y benchmarks con BenchmarkDotNet.
  • Memoria, asignaciones (allocations) y recolección de basura (garbage collection).
  • Estrategias de caché (caching) y pruebas de carga.

Estrategia de pruebas en las diferentes capas

  • Límites de pruebas unitarias, de integración y extremo a extremo (end-to-end).
  • Arquitectura testeable (testable architecture) y dobles de prueba (test doubles).

Despliegue y preparación operativa

  • Contenedores, configuración y pipelines CI/CD.
  • Diagnóstico en producción y seguridad de las versiones (releases).

Proyecto final (Capstone): revisión de diseño e implementación

  • Revisión arquitectónica de una aplicación de caso.
  • Implementación y refactorización de una porción funcional (feature slice).

Requerimientos

  • Experiencia programando en C#
  • Conocimiento práctico de la programación orientada a objetos
  • Conocimientos básicos de SQL y bases de datos relacionales

Público objetivo

  • Desarrolladores de .NET
  • Ingenieros de software y líderes técnicos
  • Desarrolladores que están transitando a roles de diseño de aplicaciones

Número de participantes


Precio por participante

Reseñas (4)

Próximos cursos

Categorías Relacionadas