← Volver a Academia de Software

Línea educativa · Dev .NET y C# · Edición 6 · .NET 10 / C# 14

Dev .NET
y C#

Arquitectura, buenas prácticas y producción

Construye una API mantenible y verificable. Aprende primero las responsabilidades y los límites; incorpora patrones cuando resuelvan un problema concreto.

Antes de comenzar

Un caso que crece con cada módulo

Usa el caso ficticio de reserva de espacios: salas, grupos y reservas de ejemplo. Cada ruta aporta un entregable al mismo diseño. Necesitas sintaxis básica de C#, Git y un entorno de desarrollo; las rutas de AppSec anteriores son recomendadas.

Practica dominio y pruebas desde el inicio. Las ocho rutas desarrollan contenido propio con 51 lecciones independientes, ejemplos propios, resultados esperados y ejercicios con solución. Puedes seguirlas aquí y usar las 36 lecturas externas como profundización opcional.

Programa progresivo

Ocho rutas. Un recorrido completo.

Lee, aplica y documenta una decisión antes de pasar a la siguiente ruta.

Ruta 013 h 30 min estimadas · lectura y práctica

C# y diseño de componentes

Diseñar una entidad y un caso de uso sencillos, asignar responsabilidades y propagar cancelación.

Abrir ruta

Temas para estudiar aquí

  1. Entorno .NET, proyectos y versiones 30 min · ejemplo y práctica
  2. POO: encapsulación, composición y polimorfismo 30 min · ejemplo y práctica
  3. Entidades, objetos de valor e invariantes 30 min · ejemplo y práctica
  4. SOLID: responsabilidades y contratos útiles 30 min · ejemplo y práctica
  5. Colecciones, genéricos y LINQ 30 min · ejemplo y práctica
  6. async/await, I/O y CancellationToken 30 min · ejemplo y práctica
  7. Código legible, decisiones y revisión 30 min · ejemplo y práctica

Lecturas complementarias · opcionales

  1. 01
    Buenas prácticas .NET

    Identifica hábitos de código legible, asincronía y pruebas.

    Lectura externa · Code with Mukesh
Ruta 024 h estimadas · lectura y práctica

ASP.NET Core y contratos HTTP

Diseñar endpoints del caso y registrar servicios con ciclos de vida coherentes.

Abrir ruta

Temas para estudiar aquí

  1. REST: recursos, verbos y respuestas HTTP 30 min · ejemplo y práctica
  2. Minimal APIs: endpoints y delegación 30 min · ejemplo y práctica
  3. Inyección de dependencias y composición 30 min · ejemplo y práctica
  4. Transient, Scoped y Singleton 30 min · ejemplo y práctica
  5. Middleware y orden del pipeline 30 min · ejemplo y práctica
  6. Ambientes, configuración y secretos 30 min · ejemplo y práctica
  7. Options Pattern y validación al inicio 30 min · ejemplo y práctica
  8. Versionado y evolución de contratos 30 min · ejemplo y práctica

Lecturas complementarias · opcionales

  1. 02
    Diseño REST

    Define recursos y operaciones HTTP.

    Lectura externa · Code with Mukesh
  2. 03
    Minimal APIs

    Construye endpoints con responsabilidades acotadas.

    Lectura externa · Code with Mukesh
  3. 04
    Dependency Injection

    Conecta servicios mediante dependencias explícitas.

    Lectura externa · Code with Mukesh
  4. 05
    Ciclos de vida de servicios

    Distingue Singleton, Scoped y Transient.

    Lectura externa · Code with Mukesh
  5. 06
    Middleware

    Razona sobre el orden del pipeline.

    Lectura externa · Code with Mukesh
  6. 07
    Configuración por ambiente

    Separa valores y secretos del código.

    Lectura externa · Code with Mukesh
  7. 08
    Options Pattern

    Consume configuración tipada.

    Lectura externa · Code with Mukesh
  8. 09
    Versionado de APIs

    Evoluciona contratos con compatibilidad.

    Lectura externa · Code with Mukesh
Ruta 034 h 10 min estimadas · lectura y práctica

Persistencia y consistencia

Definir el modelo de datos y demostrar cómo proteger una operación frente a conflictos.

Abrir ruta

Temas para estudiar aquí

  1. EF Core: DbContext, tracking y CRUD 30 min · ejemplo y práctica
  2. Fluent API: restricciones y mapeo de entidades 30 min · ejemplo y práctica
  3. Relaciones, claves y política de eliminación 30 min · ejemplo y práctica
  4. DTOs, proyección y mapeo manual 30 min · ejemplo y práctica
  5. Migraciones y cambios compatibles de esquema 30 min · ejemplo y práctica
  6. Transacciones, atomicidad y outbox 30 min · ejemplo y práctica
  7. Concurrencia optimista y carreras de inserción 40 min · ejemplo y práctica
  8. Consultas eficientes, paginación y medición 30 min · ejemplo y práctica

Lecturas complementarias · opcionales

  1. 10
    CRUD con EF Core

    Implementa persistencia y operaciones básicas.

    Lectura externa · Code with Mukesh
  2. 11
    Fluent API

    Organiza mapeos y restricciones.

    Lectura externa · Code with Mukesh
  3. 12
    Relaciones en EF Core

    Modela claves y relaciones.

    Lectura externa · Code with Mukesh
  4. 13
    DTOs y estrategias de mapeo

    Separa contratos externos y entidades.

    Lectura externa · Code with Mukesh
  5. 14
    Migraciones

    Evoluciona el esquema con control.

    Lectura externa · Code with Mukesh
  6. 15
    Concurrencia optimista

    Detecta modificaciones incompatibles.

    Lectura externa · Code with Mukesh
  7. 16
    Rendimiento en EF Core

    Revisa consultas y proyecciones.

    Lectura externa · Code with Mukesh
Ruta 042 h estimadas · lectura y práctica

Validación, errores y diagnóstico

Definir validadores y un contrato de errores sin filtrar secretos o detalles internos.

Abrir ruta

Temas para estudiar aquí

  1. FluentValidation y reglas de entrada 30 min · ejemplo y práctica
  2. ProblemDetails: errores HTTP consistentes 30 min · ejemplo y práctica
  3. Manejo global de excepciones y cancelación 30 min · ejemplo y práctica
  4. Logging estructurado y Serilog 30 min · ejemplo y práctica

Lecturas complementarias · opcionales

  1. 17
    FluentValidation

    Organiza validaciones de entrada.

    Lectura externa · Code with Mukesh
  2. 18
    ProblemDetails

    Uniforma respuestas de error.

    Lectura externa · Code with Mukesh
  3. 19
    Manejo global de excepciones

    Centraliza fallos inesperados.

    Lectura externa · Code with Mukesh
  4. 20
    Logging estructurado

    Registra contexto útil para diagnóstico.

    Lectura externa · Code with Mukesh
Ruta 052 h 10 min estimadas · lectura y práctica

Dominio, Clean Architecture y Specification

Ubicar dominio, casos de uso y persistencia, y justificar una especificación reutilizable.

Abrir ruta

Temas para estudiar aquí

  1. DDD básico: lenguaje, agregados y límites 30 min · ejemplo y práctica
  2. Clean Architecture y dirección de dependencias 30 min · ejemplo y práctica
  3. Repository Pattern con propósito 30 min · ejemplo y práctica
  4. Specification Pattern: criterios y evaluadores 40 min · ejemplo y práctica

Lecturas complementarias · opcionales

  1. 21
    Clean Architecture

    Controla la dirección de dependencias.

    Lectura externa · Code with Mukesh
  2. 22
    Repository Pattern: cuándo aporta valor

    Evalúa la abstracción de persistencia.

    Lectura externa · Code with Mukesh
  3. 23
    Specification Pattern

    Encapsula criterios reutilizables. Ejemplo de 2021 sobre ASP.NET Core 5: adapta su implementación.

    Lectura externa · Code with Mukesh
Ruta 063 h 10 min estimadas · lectura y práctica

Resultados, CQRS y decisiones de arquitectura

Separar un comando y una consulta y justificar qué patrones necesita la aplicación.

Abrir ruta

Temas para estudiar aquí

  1. Result Pattern y rechazos esperados 30 min · ejemplo y práctica
  2. CQRS: comandos y consultas separados 30 min · ejemplo y práctica
  3. Mediator y MediatR: despacho y behaviors 30 min · ejemplo y práctica
  4. Idempotencia, reintentos y deduplicación 40 min · ejemplo y práctica
  5. Antipatrones: acoplamiento y efectos ocultos 30 min · ejemplo y práctica
  6. Monolito modular y decisión de microservicios 30 min · ejemplo y práctica

Lecturas complementarias · opcionales

  1. 24
    Result Pattern

    Representa rechazos esperados.

    Lectura externa · Code with Mukesh
  2. 25
    CQRS con MediatR

    Separa lecturas y escrituras.

    Lectura externa · Code with Mukesh
  3. 26
    Antipatrones en APIs

    Reconoce acoplamiento y errores de asincronía.

    Lectura externa · Code with Mukesh
  4. 27
    Cuándo usar microservicios

    Justifica límites y costos operativos.

    Lectura externa · Code with Mukesh
Ruta 073 h estimadas · lectura y práctica

Identidad, autorización y protección de APIs

Diseñar controles de acceso verificables y una estrategia de sesión ajustada al cliente.

Abrir ruta

Temas para estudiar aquí

  1. Autenticación y validación de JWT 30 min · ejemplo y práctica
  2. Autorización mediante políticas 30 min · ejemplo y práctica
  3. Autorización por recurso y aislamiento de grupos 30 min · ejemplo y práctica
  4. Renovación de sesión y rotación de tokens 30 min · ejemplo y práctica
  5. CORS y límites de confianza del navegador 30 min · ejemplo y práctica
  6. Rate limiting y tratamiento de abuso 30 min · ejemplo y práctica

Lecturas complementarias · opcionales

  1. 28
    Autenticación JWT

    Comprende validación de tokens.

    Lectura externa · Code with Mukesh
  2. 29
    Autorización por políticas

    Organiza permisos reutilizables.

    Lectura externa · Code with Mukesh
  3. 30
    Refresh Tokens

    Diseña renovación y revocación.

    Lectura externa · Code with Mukesh
  4. 31
    CORS

    Controla acceso desde otros orígenes web.

    Lectura externa · Code with Mukesh
  5. 32
    Rate Limiting

    Limita consumo y abuso.

    Lectura externa · Code with Mukesh
Ruta 084 h estimadas · lectura y práctica

Pruebas, operación y entrega

Diseñar una estrategia de pruebas y un pipeline con controles y señales operativas.

Abrir ruta

Temas para estudiar aquí

  1. Pruebas unitarias del comportamiento 30 min · ejemplo y práctica
  2. Pruebas de integración de API y persistencia 30 min · ejemplo y práctica
  3. Comprobaciones de arquitectura 30 min · ejemplo y práctica
  4. Selección y mantenimiento de bibliotecas 30 min · ejemplo y práctica
  5. Health checks: vida y preparación 30 min · ejemplo y práctica
  6. Observabilidad: logs, métricas y trazas 30 min · ejemplo y práctica
  7. Contenedores y configuración de ejecución 30 min · ejemplo y práctica
  8. Integración continua y entrega verificable 30 min · ejemplo y práctica

Lecturas complementarias · opcionales

  1. 33
    Bibliotecas para ASP.NET Core

    Revisa herramientas de pruebas y observabilidad.

    Lectura externa · Code with Mukesh
  2. 34
    Health Checks

    Distingue liveness y readiness.

    Lectura externa · Code with Mukesh
  3. 35
    Docker para .NET

    Empaqueta la aplicación de manera reproducible.

    Lectura externa · Code with Mukesh
  4. 36
    CI/CD con GitHub Actions

    Estudia un despliegue a Amazon ECS y adapta el destino.

    Lectura externa · Code with Mukesh

Entregable integrador

Demuestra cada frontera con evidencia.

El cuaderno reúne 51 prácticas y criterios de cierre: contratos HTTP, reglas del dominio, aislamiento entre grupos, consistencia de datos, Specification, permisos y entrega reproducible. Incluye el manual detallado, ejemplos propios por tema y escenarios de prueba.

Procedencia y alcance

La selección de lecturas toma como referencia los artículos de Mukesh Murugan en Code with Mukesh. Las explicaciones, el orden educativo, el caso de reservas, los ejemplos, los ejercicios y las soluciones de Academia de Software son elaboración propia con apoyo de ChatGPT. Esta edición no reproduce el contenido ni los ejemplos de los artículos externos. No existe afiliación, certificación ni patrocinio del autor.

Los artículos se consultan en su sitio original y conservan sus derechos y condiciones. El cuaderno propio se identifica por separado en las condiciones de reutilización.

El artículo de Specification Pattern es de 2021 y usa ASP.NET Core 5: estudia el concepto y adapta sus ejemplos. Las demás lecturas pueden cambiar; comprueba versiones y licencias de dependencias. Las actividades complementarias están disponibles aquí y no se presentan como artículos publicados de Mukesh.