Meetup di aprile: “Repository pattern: un buon design al servizio della testabilità”

Siete pronti per un altro incontro del PUG Milano? Questa volta Christian Nastasi ci racconterà di design e design pattern, con una presentazione mista a live coding.

Inoltre, per la prima volta ci ospiterà Microsoft Italia, nella loro nuova sede, sala Open Hub: la sede si trova in via Pasubio, una via che parte da Porta Garibaldi, quindi sarà facilmente raggiungibile usando la M2 (linea verde).

Come al solito, si apriranno le porte per le 19 circa, per poter poi iniziare la presentazione alle 19:30, vi aspettiamo! E non dimenticatevi di fare RSVP sul nostro Meetup!

Inizieremo la serata con una piccola presentazione di Paola Presutto (Sr Technical Evangelist di Microsoft), sul tema “Microsoft Azure App Service e PHP: un piccolo esempio della strategia Microsoft in ambito Open”.

A seguire, la presentazione di Christian sul repository design pattern; ecco l’abstract della presentazione:

Testare features che accedono al database è sempre stato problematico: per applicare il principio di isolamento di ogni test è necessario ripulire e reinizializzare il database ogni volta. Questa operazione svolta su un numero alto di test è dispendioso e ne allunga notevolmente i tempi di esecuzione.
Il Domain Driven Design ci viene in aiuto, ed introduce il concetto di Repository: un’astrazione della persistenza che tratta i dati come una collezione di oggetti di dominio e definisce un interfaccia “CRUD” completamente indipendente dal modello di persistenza utilizzata (che potrebbe essere relazionale, documentale, in memory, su file o addirittura remota). Questo approccio ci permette quindi, attraverso l’utilizzo di repositories “in memory”, sia di eliminare la necessità di un database di test da ripulire ogni volta, sia di velocizzare enormemente i nostri test.
La sessione di live-coding partirà da un esempio semplice di codice “legacy” con test coverage al 100%. Attraverso l’interazione con il pubblico ed una serie di refactoring, si mostreranno le potenzialità del Repository Pattern.

Leave a Reply

Your email address will not be published. Required fields are marked *