Clean Architecture guida per diventare abili progettisti di architetture software

Ecco un libro da leggere sulle architetture software!

 

Zio Bob colpisce ancora. Questa è la recensione del libro che Martin ha pubblicato quest’anno, e cosi come in Clean Code affronta le best practice per lo sviluppo del codice, qui discute di architettura software.

Ti dico subito che questo è un altro libro da possedere se vuoi combinare qualcosa di buono come architetto del software; perchè entrando nello specifico ti descrive in maniera sapientemente chiara tutte le pratiche più conosciute in ambito architetturale.

Quindi se stai leggendo questa recensione e ancora non possiedi questo libro clicca sull’immagine della copertina in basso o alla fine della recensione e acquistalo, sono certo che non te ne pentirai.

 

 

Titolo: Clean Architecture: guida per diventare abili progettisti di architetture software

Autore: Robert C.Martin

Editore: Apogeo

Anno pubblicazione:  2018 Ed.Italiana

ISBN: 9788850334391

 

 

Di cosa parla questo libro sulle architetture software?

Zio Bob ha voluto raccogliere il suo mezzo secolo di esperienza nello sviluppo del software in queste pagine, elencando tutte le pratiche esistenti e soprattutto consigliandone i motivi per sceglierne una piuttosto che l’altra.

 

I contenuti

Il libro si compone di 34 capitoli e 1 appendice per un totale di circa 287 pagine, a occhio tutto sommato sembra di avere tra le mani un libro di poche pagine, in realtà ogni pagina è un condensato di informazioni preziose.

 

Parte Prima

I primi due capitoli  sono squisitamente introduttivi, poche pagine per spiegare la differenza tra struttura e architettura software.

I capitoli dal terzo al sesto elencano i paradigmi della programmazione, quindi la programmazione strutturata, la programmazione a oggetti e quella funzionale sono brevemente e sufficientemente raccontate in queste pagine.

I principi della progettazione sono invece oggetto dei capitoli dal settimo all’undicesimo; questi iniziano ad essere capitoli fondamentali per chi non ha mai sentito parlare di design pattern oppure per chi non se li ricorda bene.

Ciascuno di questi cinque capitoli spiegano il Single Responsibility Principle, l’Open-Closed, il Liskov Substitution, l’Interface Segregation e il Dependency Inversion Principle; e per ciascuno Martin inserisce relativi pattern, esempi, casi di studio e soluzioni.

Dei componenti, la loro coesione e l’accoppiamento trattano i capitoli dal dodicesimo al quattordicesimo; anche qui vengono spiegati i relativi principi: il Reuse/Release Equivalence, il Common Closure e il Common Reuse riguardano la coesione mentre l’Acyclic Dependencies, lo Stable Dependencies e lo Stable Abstractions per l’accoppiamento.

 

Acquista Clean Architecture Guida per diventare abili progettisti di architetture software

 

Parte Seconda

I successivi quattordici capitoli (dal quindicesimo al ventinovesimo) sono interamente dedicati all’architettura, si parla di ben cento pagine sull’argomento, ecco riassunti alcuni dei principali contenuti.

L’autore, dopo aver chiarito che una buona architettura deve supportare casi d’uso, manutenzione del sistema, sviluppo e deployment, pone l’attenzione sul disaccoppiamento dei livelli mediante l’uso di delimitazioni totali e parziali (Facade) e lo schema progettuale Humble Objects che contiene il Presenter e le View; oltre alla descrizione del Data Mapper per i database e al Service Listener per i servizi.

Martin pone attenzione anche all’architettura service-oriented che attualmente è quella più implementata ma lo fa per chiarire, con un esempio, che i servizi disaccoppiati e l’indipendenza di sviluppo e deployment, caratteristiche di questa architettura, sono dichiarazioni parzialmente vere, sono solo illusioni. Spiacente, i motivi li leggerai nel libro.

 

Parte Terza

I capitoli dal trenta al trentadue hanno titoli apparentemente anomali: “il database è un dettaglio“, “il Web è un dettaglio“, “i framework sono un dettaglio“.

In realtà Uncle Bob vuole sottolineare che il database, inteso come meccanismo di archiviazione, è solo un dettaglio che non deve entrare nel disegno dell’architettura; per lo stesso motivo anche il web è solo un momento nell’oscillazione del tempo e così anche i framework.

Sono un pò come mode che passano e si rinnovano ma che non vanno inclusi in una architettura poichè sono solo dettagli rispetto al disegno vero e proprio di dati e componenti. Pensieri che sfiorano la filosofia ma che danno parecchio da riflettere.

Le ultime pagine del libro sono dedicate ad un caso di studio (capitolo trentatre e trentaquattro) in cui Martin dimostra come mettere in pratica tutte le regole e i principi che fino a qui sono stati elencati e spiegati; quindi esempio di analisi di casi d’uso, architettura a componenti, suddivisione dei livelli, interfacce e modalità di disaccoppiamento.

Infine, l’appendice A, un salto all’indietro nel tempo (per me) fino alle origini dei computer per raccontare l’archeologia delle architetture e un pezzo di vita professionale dell’autore, nel quale racconta come gli accadde di lavorare a fianco di Grady Booch, papà dell’UML.

Prima di passare agli aspetti positivi e negativi voglio segnalarti quattro cose interessanti: la recensione del libro Clean Code, sempre di Zio Bob, un bel libro sulla progettazione software e del deploy, un articolo per ragionare meglio su coesione e disaccoppiamento in object oriented e per finire la recensione del libro di Martin Fowler L’arte del Refactoring. Buone letture.

 

Aspetti Positivi

Già mi sono scoperto all’inizio, insieme a Clean Code questo e’ il secondo libro da tenere nello zaino o nella libreria e da leggere e rileggere ogni qualvolta si inizia un progetto.

Rivolto principalmente a chi deve progettare una architettura software.

Il nucleo centrale del libro sono quelle cento pagine che parlano di architettura software descritte sopra.

Di fondamentale importanza la descrizione dei pattern nella prima parte del libro.

Aspetti Negativi

Nessuno.

 

Benissimo, se hai trovato interessante e utile questa recensione e desideri acquistare il libro, puoi farlo cliccando direttamente sul link o sulla copertina del libro qui sotto. Grazie per il tempo che hai dedicato!

 

Acquista Clean Architecture Guida per diventare abili progettisti di architetture software

 

🔥1.2 K volte è stato letto questo articolo
Se ti è piaciuto questo articolo, lascia le tue stelle!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *