Architettura esagonale
Lo ammetto: per anni ho usato nel mio lavoro questa architettura e non sapevo ne' che esistesse, ne' che si chiamasse in questo modo.
Poi durante una discussione un mio collega mi ha detto: 'ma è l'architettura esagonale!'.
Da allora ho pensavo che sembrasse molto fico dire in giro che uso l'architettura esagonale... ha un non so che di enigmatico nel nome :)
Eppure il concetto che sta alla base di questa architettura è quanto di meno enigmatico ci possa essere.
Ormai sviluppare software chiusi su sé stessi è praticamente impossibile. ogni giorno si avverte la necessità di utilizzare componenti sviluppati da terzi, e per fortuna, oggi è facile trovarne.
E' sempre bello aggiornare i componenti software di terzi all'ultima versione disponibile perchè garantisce maggiore stabilità e sicurezza, ma è anche vero che ogni volta il rischio è dover cambiare in molti punti il nostro software creando non pochi problemi.
L'architettura esagonale prevede semplicemente di non usare mai componenti di terzi in modo diretto ma di wrapparli dentro appositi componenti.
Questo perchè in caso di una modifica sostanziale di componenti terzi la variazione potrebbe essere assorbita completamente dall'adapter non andando ad inficiare sul core del software.
In questo modo le variazioni risultano essere sempre circoscritte anche nel caso in cui sia necessario sostituire completamente il componente utilizzato. In poche parole possiamo garantire che tutta la sporcizia necessaria per garantire lo stesso servizio sia presente in un unico punto e non sparsa ovunque nel nostro codice.
Ma perchè si chiama Esagonale?
Perchè chi ha dato il nome a questa architettura aveva fatto un piccolo schema esemplificativo che rappresentava il core software come un esagono i cui lati erano i punti di contatto verso gli spicchi che altro non erano che i software terzi.
Nulla di più semplice :)
Leave a comment