Dai costruttori al Builder Pattern in Java

I Design Pattern (soluzioni progettuali generali a un problema ricorrente) sono molto inportanti nel software, a prescindere dal linguaggio di programmazione. In questo post vediamo insieme l’utilizzo del Builder Pattern in Java come alternativa all’utilizzo dei costruttori in overloading. L’obiettivo è quello di rimpiazzare costruttori poco leggibili e scomodi da utilizzare con una classe che si preoccupa della creazione dell’oggetto, fornendo metodi appropriati per i parametri e la validazione....
Continue reading...

Perché Kotlin è il miglior linguaggio per sviluppare su Android

Kotlin è il primo linguaggio per Android ufficialmente supportato da Google in aggiunta a Java stesso. Questo da solo è un traguardo significativo e un indizio di quanto Kotlin sia un un buon linguaggio per Android. Un altro buon segno è l’accoglienza degli stessi sviluppatori Android all’annuncio. In questo articolo spiegheremo le ragioni per cui Kotlin è particolarmente adatto allo...
Continue reading...

Integration Test con Maven e Docker

Non è la prima volta che parliamo di integration test, croce e delizia dello sviluppo. Sono complessi da fare perché richiedono la compartecipazione dei sistemi necessari all’applicazione che siamo sviluppando. Avevamo visto come nel ciclo di build di Maven l’uso del plugin failsafe ci aiuta ad eseguire questo tipo di test nella fase giusta. Abbiamo visto poi come Arquillian permette...
Continue reading...

Android, MVP, Dagger e i test

MVP significa Model View Presenter .. che è un pattern molto popolare ultimamente tra gli sviluppatori Android. Non voglio scrivere un’altra guida a proposito dell’MVP su android. Altri hanno fatto un lavoro sicuramente migliore, per esempio: L’introduzione a MVP di Antonio Leiva L’introduzione di Hannes Dorfmann al framework Mosby Il post di Fernando Cejas a proposito della clean architecture Sono...
Continue reading...

Java Annotation Processing

Nel lavoro di tutti i giorni può capitare di dover scrivere del codice boilerplate, senza valore aggiunto, magari ripetitivo o con classi che differiscono pochissimo tra loro. Se la logica è fatta in modo tale che non si riesce a mettere a fattor comune, magari conviene spostarsi ad un livello di programmazione dichiarativo con le annotations, interpretate tramite Reflection di...
Continue reading...

Testing di app Android con Dagger 2, Mockito e una rule JUnit

La Dependency Injection è la chiave per ottenere codice testabile, sfruttando questo costrutto è semplice sostituire un oggetto con un mock per cambiare e verificare il comportamento di una app Android o di un qualunque software. Dagger 2 è una libreria che permette di gestire le proprie classi sfruttando la depenncy injection, per le sue caratteristiche (prima fra tutte la...
Continue reading...