Qué es Clean Architecture en .NET
Clase 19 de 21 • Curso de APIs con .NET
Contenido del curso
Estructura de una Web API
- 7

Configuración CORS en .NET: solución al error
07:08 min - 8

Rutas en APIs .NET con parámetros
12:50 min - 9

Documentación de APIs con OpenAPI y Swagger en .NET
14:25 min - 10

Middlewares en ASP.NET: pipeline y custom middleware
10:32 min - 11

Inyección de dependencias en .NET: ILogger
09:18 min - 12

Middleware para autenticación básica en .NET
08:17 min
Arquitectura y Middlewares
- 13

Configuración de Entity Framework Core en .NET
07:31 min - 14

Modelos C# y relaciones con Entity Framework
10:01 min - 15

Servicios con Entity Framework para ASP.NET
13:51 min - 16

Controladores API en .NET con Swagger
14:46 min - 17

Conectar API .NET con SQL Server
09:51 min - 18

Conectar .NET API con PostgreSQL usando Entity Framework
06:57 min - 19

Qué es Clean Architecture en .NET
Viendo ahora - 20

Pruebas unitarias en .NET con Copilot
09:05 min - 21

Qué sigue después de tu API con .NET
02:16 min
Diseña APIs en .NET más escalables y mantenibles con Clean Architecture. Esta guía explica, paso a paso, cómo separar responsabilidades en capas claras —API, Application, Domain e Infrastructure— para obtener un código ordenado, fácil de probar y listo para crecer sin fricción.
¿Qué es Clean Architecture y por qué importa en .NET?
Clean Architecture es un patrón que define cómo distribuir responsabilidades y ordenar el código. Su meta es lograr una API escalable y mantenible en el tiempo, con navegación clara entre componentes.
- Separa presentación, lógica de aplicación, dominio e infraestructura.
- Minimiza acoplamientos y facilita cambios sin romper otras capas.
- Permite crecer con orden: nuevas funcionalidades, servicios o persistencias.
Idea clave: la API conversa con Application a través de contratos, Application define casos de uso, Domain modela el negocio e Infrastructure implementa acceso a datos y servicios externos.
¿Cómo se estructura una API en capas con .NET?
La solución se organiza en cuatro proyectos: API, Application, Domain e Infrastructure. Cada uno tiene un rol definido para mantener límites y dependencias limpias.
¿Qué incluye la capa de presentación en API y controladores?
- Controladores que exponen endpoints y orquestan pedidos.
- Configuración general: documentación con Swagger.
- Middleware y autenticación según sea necesario.
- Referencias a proyectos requeridos para funcionar: Application e Infrastructure.
¿Qué define Application: contratos, casos de uso y utilidades?
- Interfaces y contratos que la API consume para hablar con datos.
- Lógica de la aplicación y utilidades que no dependen de infraestructura.
- Definición de casos de uso: comportamientos específicos como cálculos o validaciones.
- Sugerencia de práctica sólida: agregar DTOs o View Models para las respuestas que verá la API.
¿Cómo funcionan Domain e Infrastructure con Entity Framework y DI?
- Domain contiene el modelo del negocio: entidades y reglas del dominio.
- Ejemplos de entidades: TaskItem y User.
- Infrastructure implementa el acceso a datos y servicios externos.
- Contexto de Entity Framework: AppDbContext para conectar con la base de datos.
- Servicios concretos: UserService y TaskService.
- Configuración de dependency injection en un módulo de infraestructura.
- Integración con proveedores como Azure o AWS cuando aplique.
¿Qué prácticas recomiendan para un proyecto limpio?
Adoptar buenas prácticas desde el inicio evita dependencias innecesarias y hace el sistema más flexible ante cambios.
¿Cómo referenciar proyectos y configurar Program?
- La API debe referenciar Application para consumir contratos.
- La API suele referenciar Infrastructure para registrar infraestructura en Program.
- Evita referenciar Domain desde la API cuando sea posible para no exponer entidades internas.
¿Por qué usar DTOs o View Models y mapeo en Infrastructure?
- La API no debería devolver entidades de base de datos del dominio.
- Define DTOs o View Models en Application pensados para la respuesta pública.
- Deja que Infrastructure mapee de entidades de Domain a DTOs de Application.
- Beneficios: menor acoplamiento, control de datos expuestos y versiones más seguras.
¿Qué ejercicio práctico realizar para afianzar?
- Crea DTOs o View Models en Application para las respuestas.
- Implementa en Infrastructure el mapeo de Domain a DTOs.
- Elimina la referencia de Domain en la API cuando el mapeo esté listo.
- Ejecuta y prueba todos los endpoints para confirmar que todo funciona como antes.
¿Tienes dudas o quieres compartir tu estructura de carpetas, contratos o mapeos? Deja tu comentario y cuéntame cómo organizaste tu API con Clean Architecture en .NET.