DDD+Refactoring: Enriquece tu dominio en pequeños pasos


Details
Domain-driven design (DDD) está de moda. Todo el mundo habla de agregados, entidades, value objects, eventos de dominio… los conocidos como “patrones tácticos de DDD”.
Pero cuando llegamos a la realidad de nuestro proyecto y queremos aplicarlos, nos damos cuenta que, en la mayoría de casos apenas podemos aplicar un pequeño porcentaje de estos conceptos, debido a la complejidad actual del código.
Como en todo, en DDD aplica la Regla de Pareto: el 20% del esfuerzo nos brinda el 80% del beneficio. El problema es que los patrones tácticos suelen ser el 80% equivocado.
En este taller, desaprenderemos todo lo que sabemos sobre DDD, para partir desde el inicio: revisitaremos las 3 claves (colaborativo, modelado e incremental) y re-aprenderemos el 20% más útil para comenzar a introducir DDD en nuestro proyecto, desde una perspectiva alternativa: el refactoring, guiado por los conceptos de encapsulación, inmutabilidad y pureza. Integraremos lo aprendido realizando una kata de programación guiada, en la que aplicaremos todos estos conceptos.
Detalles del taller:
● Código de inicio del ejercicio a realizar: https://github.com/exeal-es/tell-dont-ask-kata
● Duración: 2h (aprox. 30 minutos de teoría + 1h 15min práctica + 15min buffer)
● Requisitos previos:
○ Conocimientos de un lenguaje orientado a objetos.
○ Entorno de desarrollo para alguno de los siguientes lenguajes: Java, C#, PHP, Python, Typescript, Ruby, Scala
○ No son necesarios conocimientos previos de testing automatizado, pero sí al menos lanzar una suite de tests ya dada con tu IDE.
○ No son necesarios conocimientos previos de DDD. Se puede sacar provecho del taller tanto si no se sabe nada sobre DDD, como si se es experto en la materia.

Sponsors
DDD+Refactoring: Enriquece tu dominio en pequeños pasos