Salvador Llaberia · Software Architect ← Inicio
Código con oficio

El blog

Escribo sobre lo que hago a diario: arquitectura, diseño y DDD aplicados a sistemas reales. Ideas contrastadas en producción y contadas sin humo.

El Command Bus (mediator entre comando y handler)

Por qué interponer un bus entre el comando y su handler desacopla quien manda de quien ejecuta, y cómo ese mediador es el cimiento sobre el que se levanta CQRS.

El patrón Command (extract params into class)

Por qué juntar los parámetros de un caso de uso en un objeto es la llave maestra que abre logging centralizado, colas, reintentos y, más adelante, CQRS.

La ley de Demeter (no hables con extraños)

Por qué conviene hablar solo con los vecinos directos y no navegar por el grafo de objetos. De los trenes de llamadas a delegar en quien sabe, y qué relación guarda con Tell Don't Ask.

Tell Don't Ask (dile, no preguntes)

Delegar la lógica de negocio en la entidad en lugar de preguntarle por sus datos para decidir fuera. De una entidad anémica a una rica, y qué ganan el DDD, la arquitectura hexagonal y el clean code cuando el caso de uso solo da la orden.

Objetos inmutables (immutability)

Un objeto que cambia por dentro rompe la confianza en el código que lo usa. Devolver instancias nuevas, cerrar la clase con readonly y dejarlo demostrado con tests.

Cláusulas de guarda (guard clauses)

Las cláusulas de guarda aplanan el anidamiento, eliminan el else que sobra y ponen las reglas por delante del trabajo. Código más sencillo, mantenible y escalable.

Constructores con nombre (named constructors)

En PHP una clase solo tiene un constructor. Los constructores con nombre devuelven claridad, intención y lenguaje de dominio a la creación de objetos.