Diseño Orientado al Dominio en PHP
400 páginas
Spanish
PDF
4.5

Diseño Orientado al Dominio en PHP

Diseño Orientado al Dominio en PHP

Autor:

Año:

Resumen:

Introducción

El libro «Domain-Driven Design in PHP» (autores: Carlos Buenosvinos, Christian Soronellas, Keyvan Akbary, 2017, 400 páginas) no es solo una guía más de PHP, sino una inmersión profunda en la metodología de diseño orientado al dominio (DDD) aplicada al desarrollo web en PHP. A diferencia de los libros clásicos de Eric Evans o Vaughn Vernon, que describen DDD en términos abstractos, esta obra ofrece patrones concretos y listos para usar, junto con ejemplos de código en PHP. Está dirigida a desarrolladores que ya conocen los fundamentos de PHP y desean pasar al siguiente nivel: la creación de aplicaciones empresariales complejas, mantenibles y escalables.

¿De qué trata este libro?

El libro desarrolla de forma secuencial todos los conceptos clave de DDD: desde los bloques de construcción básicos (Entity, Value Object, Aggregate, Repository, Domain Service) hasta técnicas avanzadas como CQRS (Command Query Responsibility Segregation) y Event Sourcing. Cada capítulo incluye no solo una explicación teórica, sino también ejemplos prácticos en PHP que se pueden aplicar de inmediato en proyectos reales. Se presta especial atención a la organización del código, el trabajo con Doctrine ORM, la integración con Symfony y Laravel, así como a las pruebas de la lógica de dominio.

Temas principales del libro:

  • Bloques de construcción de DDD: Entity, Value Object, Aggregate, Repository, Factory, Domain Event.
  • Modelado del dominio: cómo identificar contextos delimitados (Bounded Context) y construir un lenguaje ubicuo (Ubiquitous Language).
  • Infraestructura: implementación de repositorios con Doctrine, manejo de transacciones, Unit of Work.
  • Patrones avanzados: CQRS, Event Sourcing, Application Services, Domain Services.
  • Pruebas: pruebas unitarias de objetos de dominio, pruebas de integración de repositorios, pruebas de comandos y eventos.
  • Integración con frameworks: ejemplos para Symfony y Laravel, configuración de Dependency Injection, configuración.

¿Para quién es este libro?

El libro será útil para:

  • Desarrolladores PHP de nivel medio y senior que quieran aprender DDD y aplicarlo en sus proyectos.
  • Arquitectos y líderes de equipo que diseñan sistemas empresariales complejos y buscan formas de combatir el «gran bola de barro» (Big Ball of Mud).
  • Desarrolladores que pasan del estilo procedural o MVC a un diseño más significativo del dominio.
  • Todos aquellos que ya han leído a Evans o Vernon pero quieren ver cómo estas ideas se implementan en PHP utilizando herramientas modernas (Composer, Doctrine, Symfony).

¿Qué aprenderá el lector?

Después de leer el libro, el lector podrá:

  • Distinguir claramente entre Entity y Value Object y saber cuándo usar cada uno.
  • Diseñar agregados con límites de consistencia correctos.
  • Implementar repositorios que oculten los detalles de almacenamiento de datos.
  • Aplicar Domain Events para un acoplamiento débil entre módulos.
  • Implementar CQRS para separar comandos y consultas, simplificando la escalabilidad.
  • Usar Event Sourcing para una auditoría completa de los cambios de estado.
  • Escribir pruebas que verifiquen precisamente las reglas de negocio, no la infraestructura.
  • Integrar el enfoque DDD con frameworks PHP populares.

Puntos fuertes del libro

La principal ventaja del libro es su enfoque práctico. Los autores no solo repiten la teoría, sino que muestran exactamente cómo escribir el código. Todos los ejemplos son relevantes para las versiones modernas de PHP (7.x), utilizan la autocarga de Composer, tipado, traits y otras características del lenguaje. El libro contiene numerosos listados de código que se pueden copiar y adaptar a su propio proyecto. Mención especial merecen los capítulos sobre CQRS y Event Sourcing: están escritos de forma tan accesible que incluso un principiante en estos temas podrá entenderlos.

Recommendations