Volver al inicio

Arquitectura limpia en aplicaciones web: principios prácticos

Separar dominio, aplicación e infraestructura para que el producto pueda cambiar sin reescribirse.

Qué problema resuelve

En muchas aplicaciones la lógica de negocio acaba mezclada con llamadas a la base de datos, con código de la interfaz y con detalles de terceros. Cambiar un proveedor o una regla se convierte en una cirugía.

La arquitectura limpia propone capas con dependencias en un solo sentido: el dominio no conoce la base de datos ni el framework; la infraestructura sí conoce el dominio.

Empieza por el dominio

Define las entidades y las reglas que tienen sentido aunque no exista una web: un pedido no puede pasar a "enviado" sin estar pagado, un descuento caduca en una fecha concreta. Esas reglas deben poder probarse sin levantar un servidor.

Las interfaces (puertos) describen lo que la aplicación necesita, por ejemplo guardar pedidos, y la infraestructura las implementa con el proveedor elegido.

Cuándo no hace falta

Para una página de presentación o un formulario sencillo, una capa de dominio completa es sobreingeniería. La separación compensa cuando hay reglas de negocio que cambian, varias integraciones externas o un equipo que necesita trabajar en paralelo.

La regla práctica: añade capas cuando el coste de cambiar algo esté claramente por encima del coste de la separación.