Saltar al contenido
Tecnología e ingeniería

Código que aguanta el cambio

19 de septiembre de 2026 · Actualizado 19 de septiembre de 2026

Diferenciar entre patrones de diseño y arquitectura es lo que separa a un desarrollador de un líder técnico que construye sistemas sostenibles.

Código que aguanta el cambio
Foto de Annie Spratt en Unsplash

En las reuniones técnicas nos perdemos en el último framework de moda y olvidamos que el código se pudre por dentro cuando no tiene estructura. Es el síndrome del objeto brillante: discutimos la nube y los microservicios mientras el negocio sigue corriendo sobre unos cimientos que nadie ha mirado en años.

El motor y los engranajes

La diferencia entre arquitectura y patrones es una cuestión de escala. La arquitectura es el diseño de alto nivel: decide si el sistema será un SUV familiar o un deportivo eléctrico y define dónde va el motor para que el carro sea estable. Son las decisiones difíciles de cambiar una vez que el equipo arranca a trabajar.

Los patrones de diseño son los engranajes probados que van por dentro, como el sistema de frenos o el diferencial. No reinventamos la rueda para cada subsistema: usamos plantillas conceptuales que garantizan que las clases y los objetos se hablen sin quedar pegados unos con otros.

El seniority se mide en flexibilidad

Un desarrollador junior programa para que el sistema responda hoy, pero un senior diseña para que el código pueda cambiar mañana. El dominio de los patrones evita que un ajuste en un módulo rompa partes inesperadas de la aplicación.

He visto horas de discusiones técnicas que se resuelven con una sola frase: usemos un patrón Adapter para esto. Hablar un lenguaje común ahorra tiempo y evita la sobreingeniería, porque un verdadero experto sabe cuándo no implementar un patrón para mantener la simplicidad del producto.

Modelos para escalar el negocio

Existen formas de organizar el código que todo líder debe conocer. La arquitectura hexagonal aísla las reglas de negocio de la base de datos, la arquitectura limpia ordena esa misma idea en capas donde las de adentro no saben nada de las de afuera, y la orientada a eventos permite que los componentes reaccionen a mensajes sin conocerse entre sí.

Debajo de todas ellas está el diseño guiado por el dominio. Antes de decidir capas hay que nombrar bien lo que el negocio hace, dibujar sus fronteras y hablar el mismo idioma que quien lo dirige. Sin eso las capas quedan impecables y ordenan un dominio que nadie entendió, que es la forma más cara de tener razón.

Tres capas concéntricas: infraestructura, aplicación y dominio, con todas las flechas apuntando hacia el centro.
La regla que comparten la arquitectura hexagonal, la limpia y el diseño guiado por el dominio.

La sinergia es clara: la arquitectura define la regla, como asegurar que la lógica no dependa de la infraestructura, y el patrón de diseño entrega el código concreto para cumplirla mediante inyección de dependencias.

Y muchas veces la respuesta correcta es la más aburrida. Un monolito bien modulado, con las fronteras claras por dentro, sostiene un negocio entero durante años y se despliega con un solo comando. El híbrido también es legítimo: el monolito en el centro y un par de servicios aparte, solo donde la carga o el ritmo de cambio se lo ganen. He visto equipos de cinco personas partir un sistema en ocho servicios y pasar el año siguiente peleando con la red en vez de con el negocio. La arquitectura tiene que ganarse el costo que impone.

Monolito ModularCostoBajo, y bajo también de operarRiesgoSe acopla si nadie cuida las fronterasVeredictoLa opción por defecto hasta que algo duela
Arquitectura HexagonalCostoMedio en desarrollo inicialRiesgoBajo frente a cambios de proveedorVeredictoIdeal para dominios de negocio complejos
Arquitectura Limpia (Clean)CostoMedio por la disciplina de capasRiesgoCapas de más si el dominio es simpleVeredictoBuena cuando el equipo rota y el dominio dura años
Arquitecturas Componibles (MACH)CostoAlto por integración de serviciosRiesgoDependencia de conectividad externaVeredictoRecomendado para ecosistemas nativos de nube
Arquitectura Orientada a EventosCostoMedio por uso de brokersRiesgoComplejidad en la trazabilidadVeredictoGanadora para sistemas que necesitan escalabilidad absoluta

Hoja de ruta para el equipo

Para dominar el diseño micro, recomiendo el catálogo de Refactoring Guru: están los veintitrés de siempre, agrupados por creación, estructura y comportamiento, cada uno con su ejemplo y su código al lado. Antes de elegir el framework de moda, el equipo debe adoptar los principios SOLID. La infraestructura debe estar al servicio del dominio, no al revés.

Ese catálogo resuelve el diseño dentro de un proceso, y casi ningún sistema vive ya dentro de uno solo. Cuando el código empieza a hablar por la red aparecen otros. El circuit breaker corta la llamada al servicio caído en vez de esperar a que venza el tiempo y se lleve al resto por delante. CQS separa lo que lee de lo que escribe, y CQRS lleva esa separación hasta el almacenamiento. Las rebanadas verticales organizan el código por funcionalidad completa en vez de por capas horizontales. Ninguno es obligatorio y todos cuestan: la pregunta de siempre es cuál duele menos.

Con este conocimiento a la mano, ¿estamos usando los patrones para construir sistemas que facilitan el cambio, o estamos creando monumentos técnicos que nadie se atreve a tocar por miedo a que todo se desmorone?

Entra para decir que te sirvió

Avisos

Te aviso cuando publique.

Conversación