Reseña: Domain - driven design in PHP

Libro: Domain - driven design in PHP


En fechas recientes he terminado de leer este libro sobre arquitectura en el que se describen un buen conjunto de buenas prácticas de programación como estrategias arquitectónicas o código limpio.

En sus páginas se muestran diferentes tipos de objetos categorizados y analizados (entidades, agregados ...) , formas de comunicación , se muestran diferentes patrones aplicados en las ocasiones en las que más adecuados son y multitud de código de ejemplo.

Queda claro en el libro que DDD es aplicable sobre todo en proyectos de alta complejidad, aunque conceptos concretos se pueden aplicar en proyectos de cualquier tamaño.

Capítulos:

1. Getting started with Domain-Driven Design
En él se da una breve introducción y las bases de esta arquitectura.

2. Architectural Styles
Un repaso histórico de como han evolucionado los estilos de programación en PHP desde los primeros momentos en que PHP solo era un sencillo lenguaje de script embebido a su evolución a la POO y DDD.

3. Value Objects
Define estos tipos de objetos y sus características.

4. Entities
Le pone nombre a estos objetos con entidad propia.

5. Services
Que son los servicios y cuándo son aplicables.

6. Domain-Events
Como se comunican las diferentes partes del software entre ellas.

7. Modules
En este capítulo se discute como se debería modulalizar cada una de las piezas que integran el proyecto.

8. Aggregates
Quizás una de las partes más difíciles del libro. Como se definen estos componentes y que razón de existir tienen.

9. Factories
Como se crean los objetos y diferentes estrategias para su implementación.

10. Repositories
Se relega casi al final del libro el como se persisten los datos. En DDD el centro no son los datos sino el negocio.

11. Application
Capítulo especial para este tipo de servicio.

12. Integrating Bounded Context
En DDD las partes del software se separan en bloques independientes que se comunican entre ellos. En este capítulo se describe como interactuan entre ellos, cuando no queda más remedio que se comuniquen entre ellos.

Appendix: Hexagonal Architecture with PHP
Un capítulo que es un artículo publicado en una revista. Es un interesante capítulo que permite hilar los diferentes conceptos descritos en el libro.




Comentarios