Lunedì sera abbiamo organizzato un workshop per introdurre alcuni concetti sul design DDD.
L’idea l’ho basata sul workshop creato dal bravissimo Alberto Brandolini a cui ho avuto il piacere di partecipare durante il corso Implementing Domain-Driven Design tenuto da Vaughn Vernon ed organizzato dallo stesso Alberto.
Quello che mi aveva colpito è come fosse riuscito a far emergere subito la discussione per approfondire le meccaniche ed i dettagli dell’applicazione da realizzare. E come permettesse anche ai neofiti di cominciare a fare DDD sul serio.
Anche nel nostro workshop, una volta spiegata a grandi linee l’applicazione da realizzare (io interpretavo il Domain Expert) e spiegato brevemente il concetto di eventi di dominio, i partecipanti, dopo una prima spinta a scrivere i primi post-it, hanno cominciato a fare domande ed a collaborare come team per disegnare l’applicazione. Il resto della sessione si è poi evoluta nell’implementazione dei comandi che scatenano gli eventi, abbiamo disegnato i primi aggregati e cominciato a parlare di Subdomain, Bounded Context e ACL.
La bella cosa è che si inizia con quanto basta per cominciare a scrivere eventi e solo dopo che ci si è sporcati le mani arriva una spiegazione più completa. E questo, a mio parere, ha permesso di comprendere meglio alcuni concetti.
Un altro aspetto notevole di questo approccio è dato dal fatto che i partecipanti non si erano resi subito conto di aver disegnato il prototipo di un’applicazione complessa senza aver, giustamente, pensato prima alle tabelle di un ipotetico database.
Nonostante fossero le sette di sera di un lunedì le due ore e mezza di lavoro sono volate. Anche nella fase finale, in cui abbiamo tirato le somme, sono emerse domande e chiarimenti che con ogni probabilità, con una lezione (passiva) classica non sarebbero emerse con altrettanta facilità.
I feedback a cena erano abbastanza in linea con quelle che sono state le mie impressioni:
- Si è diradata la nebbia su concetti del DDD che per alcuni erano ancora “fumosi”
- Lo sporcarsi le mani subito ha permesso di capire meglio i concetti
- Sei obbligato a fare le cose per bene
- Workshop riuscito anche per l’entusiasmo di tutti.
Ancora una volta grazie ad Alberto per avermi permesso di provare il suo workshop. Sarà sicuramente da rifare.
Per chi fosse interessato lunedì 17 giugno ci troviamo a vedere un corso di Pluralsight sui design patterns. L’ingresso è libero, ma i posti non sono molti, pertanto comunicatelo sulla pagina di Facebook del gruppo se volete partecipare.