
JavaScript Domain-Driven Design
Philipp Fehre
- Editorial
- Packt
- Año
- 2015
- Páginas
- ~206
- Nivel
- Intermedio
De qué trata
Libro de Philipp Fehre que lleva los principios del diseño guiado por el dominio (Domain-Driven Design, DDD) de Eric Evans al mundo de JavaScript, con el código del lado de servidor en Node.js. Se publicó en 2015, así que trabaja con el JavaScript de la época (ES5, con prototipos y módulos de Node.js) y no con las clases de ES2015. Está dirigido a desarrolladores de JavaScript con experiencia que quieren mejorar el diseño de aplicaciones grandes, o que tienen que construir software en un dominio de negocio que no conocen. Hay que dominar JavaScript; tener experiencia con Node.js ayuda, aunque no es imprescindible.
El recorrido sigue el orden natural de un proyecto DDD: empieza con un proyecto típico de JavaScript y cómo seguirle la pista a la lógica de negocio, continúa con la búsqueda del problema central mediante la exploración del dominio y diagramas UML, y pasa después a preparar un proyecto pensado para crecer, con su estructura de carpetas y sus entornos de pruebas y de build orientados a TDD. Luego se modelan los actores del dominio con nombres tomados del propio negocio, se construye un lenguaje ubicuo y se clasifican e implementan los objetos como entidades, objetos de valor y servicios. Los capítulos finales tratan los mapas de contexto, que sirven para organizar las partes del sistema tanto en lo técnico como en lo organizativo; la relación de DDD con otros enfoques y patrones de desarrollo; y la integración de todas las piezas.
Todo el libro gira alrededor de un caso de negocio original y desenfadado: la gestión de una mazmorra de orcos y del traslado de sus prisioneros, que se modela e implementa paso a paso. Es un texto corto, de unas 200 páginas, y por eso funciona bien como introducción práctica a DDD para quien programa en JavaScript, aunque no profundiza tanto como las obras de referencia de Evans o Vernon en patrones tácticos avanzados, CQRS o event sourcing. Hoy el código se ve anticuado frente al JavaScript moderno y a TypeScript, pero las ideas de modelado siguen vigentes. Conviene leerlo con soltura en Node.js y en pruebas unitarias.
- Domain-Driven Design
- JavaScript
- Node.js
- Lenguaje ubicuo
- Entidades y objetos de valor
- Servicios de dominio
- Mapas de contexto
- UML
- TDD
- Arquitectura de aplicaciones
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Gestión de una mazmorra de orcos y del traslado de prisioneros
Caso de negocio que atraviesa todo el libro: se explora el dominio, se modelan los actores implicados en el traslado de prisioneros y se implementa la aplicación en JavaScript/Node.js aplicando entidades, objetos de valor, servicios y mapas de contexto con un flujo guiado por pruebas.

