Saltar al contenido >_
El blog

Blog

Ensayos, decisiones técnicas y trade-offs sobre arquitectura, producción e IA. No para acumular tutoriales: para aprender a mirar sistemas con más criterio.

Lo último

Últimos artículos

28 artículos publicados
Día 21: extends te encierra — composición te libera
JavaArchitecture100ArchitectureDays

Día 21: extends te encierra — composición te libera

Visa Infinite rompió una jerarquía de 4 niveles: Level-5, flag o copy-paste, todas trampas. La composición gana sobre la herencia. #100ArchitectureDays.

8 min read
Día 20: YAGNI — la feature que programaste por las dudas
JavaArchitecture100ArchitectureDays

Día 20: YAGNI — la feature que programaste por las dudas

7 clases para un solo método de pago. PayPal y Crypto: TODO. Borró 300 líneas, todo siguió funcionando. Día 20 de #100ArchitectureDays.

6 min read
Día 19: data, manager, process y otros crímenes
JavaArchitecture100ArchitectureDays

Día 19: data, manager, process y otros crímenes

El código se lee 10x más de lo que se escribe. Cada nombre vago que te ahorra 2 segundos al escribir le cuesta 30 a cada lector. Día 19 de #100ArchitectureDays.

5 min read
Día 18: Cambiar de proveedor sin tocar el core
JavaSpring BootArchitecture100ArchitectureDays

Día 18: Cambiar de proveedor sin tocar el core

ReportService tenía el proveedor hardcodeado. Cambiar a SMS exigía abrir el core. DIP: depende de la abstracción, no del proveedor. #100ArchitectureDays.

6 min read
Día 17: Liskov, cuando heredar miente
JavaSpring BootArchitecture100ArchitectureDays

Día 17: Liskov, cuando heredar miente

Penguin extends Bird. En runtime, fly() explota. LSP: la herencia biologica no es herencia de comportamiento. Dia 17 de #100ArchitectureDays.

6 min read
Día 16: El if nuevo que rompió 5 features
JavaSpring BootArchitecture100ArchitectureDays

Día 16: El if nuevo que rompió 5 features

Cada canal nuevo obligaba a abrir NotificationService y rezar. Sprint 4 rompió EMAIL. Sprint 7, lo mismo al agregar SLACK. Open/Closed Principle: extender sin tocar lo que ya anda. Día 16 de #100ArchitectureDays.

6 min read
Día 15: Tu código es DRY pero nadie lo entiende. Bienvenido al infierno de la abstracción.
JavaSpring BootArchitecture100ArchitectureDays

Día 15: Tu código es DRY pero nadie lo entiende. Bienvenido al infierno de la abstracción.

Dos funciones parecidas no son la misma función. La abstracción incorrecta es peor que la duplicación, y probablemente tu codebase está lleno de ellas. Día 15 de #100ArchitectureDays.

6 min read
Día 14: Cambiaste una clase y rompiste 10 más. Efecto dominó.
JavaSpring BootArchitecture100ArchitectureDays

Día 14: Cambiaste una clase y rompiste 10 más. Efecto dominó.

Alto acoplamiento, baja cohesión. Cambias un DTO y te explota medio sistema. Cómo separar modelos por capa para eliminar el efecto dominó. Día 14 de #100ArchitectureDays.

6 min read
Newsletter

¿Te quedaste con ganas de más?

La Bitácora Sin Filtros: una decisión técnica, sus trade-offs y una regla práctica, una vez por semana.