From big ball of mud to clean architecture with Symfony
Seguro que la historia te suena: Tienes una aplicación, o varias, que se ha hecho con Symfony aprovechando todo lo que permite desarrollar rápido:
Twig, Doctrine, Form, Asserts, Annotations, Symfony Events, Firewall, Security, etc.
Durante mucho tiempo la aplicación fue creciendo a base de meter "a lo loco" para sacar "antes de ayer" y un día te encuentras con una aplicación con entidades duplicadas, entidades para relacionar otras entidades que no aportan nada más que confusión, formularios todopoderosos, magia de esa que no entiende ni quien la creó... ausencia de test (ese gran elefante en la sala)... ¿qué hacemos entonces?
"Empezamos de nuevo que ahora lo haremos bien".
¿Resultado? Múltiples aplicaciones (tantas como intentos nuevos de hacerlo bien), todas imposibles de atacar, todas con funcionalidades replicadas... todo "mal".
Has oido "cosas" sobre TDD, DDD, CQRS, Hexagonal Architecture, Onion Architecture... Rich Domain Models y lo tienes claro: Esa es tu salvación.
¿Empezamos de nuevo? Por si no aprendiste aún la lección... no. Puedes evolucionar tu big ball of mud hacia las clean architectures sin tener que empezar desde cero.
En esta charla abordaremos cómo nos enfrentamos al problema manteniendo Symfony como framework sobre el cual desarrollar el producto:
- Qué decisiones previas tomamos y por qué... tanto a nivel de código como de organización y trabajo del equipo.
- En qué componentes nos apoyamos para empezar a pensar en clean y abandonar el mud.
- Cómo afrontamos la transformación de entidades anémicas acopladas a symfony y doctrine a modelos ricos de dominio.
- Cómo abordamos el testing.
- Trade-offs que asumimos como parte del proceso y por qué no nos preocupa.
viernes, mayo 7, 2021 at 11:50 a. m. – 12:25 p. m.