Ce mois je vous partage mon avis sur le livre “Clean Architecture”
Description
- Auteur : Robert C. Martin (alias “Uncle Bob”) (Twitter | LinkedIn)
- Editeur : Prentice Hall
- Édition : 1st (Septembre 2017)
- Langue : Anglais
- Format : broché, kindle, ebook.
- Pages : 321
- Fréquence de lecture : (20mn~30mn /jour)
Contenu
Ce livre fait partie de la série “Robert C. Martin Series” qui comprend entre autre les livres “Clean Code” et “The Clean Coder”. J’attendais beaucoup de ce livre vu le succès de ses précédents analogues.
Le livre est constitué de 34 chapitres regroupés dans 6 parties. Je pense qu’on peut encore les regrouper par thème en 3 parties à savoir “Introduction”, “Conception” et “Architecture”.
Dans la première partie, l’auteur met l’accent sur le vrai rôle de l’architecture dans la construction d’un logiciel en expliquant comment une bonne architecture pourrait impacter le coût d’un logiciel. En effet, il nous rappelle que l’architecture n’est pas juste un moyen de construction du logiciel mais plutôt un élément très important à prendre en considération pour l’exploitation, le déploiement et surtout la maintenance.
Dans la deuxième partie, l’auteur nous présente les styles de programmation ainsi que les grands principes qui doivent guider la création d’un logiciel. Cette partie est structurée comme suit:
- Les paradigmes de programmation: programmation structurée, programmation orientée objet et programmation fonctionnelle.
- Les principes SOLID: chaque principe est détaillé dans un chapitre dédié avec des jolis graphes.
- Les principes de conception des composants logiciels: couplage et cohésion.
Enfin, on arrive à la partie la plus intéressante du livre qui s’attaque vraiment au coeur du sujet “Clean Architecture”, comme l’indique le titre du livre. L’auteur se concentre sur les aspects qu’un architecte devrait prendre en considération pour concevoir une architecture maintenable est extensible. L’auteur met aussi en avant les limites de chaque brique logicielle(services, composants et règles métiers) ainsi que leurs interactions. Pour finir, le livre expose certains détails qui ne devraient pas être pris en compte lors du choix d’une architecture notamment le choix de la base de données et des serveurs web.
Conclusion
Je trouve le livre long à lire et ennuyeux. Uncle Bob ne cesse pas de répéter tout au long des 34 chapitres la même idée : “Le code domaine doit être indépendant, placé au centre et entouré des détails”. Bien évidement, c’est une très bonne idée mais elle peut être présentée dans beaucoup moins de 300 pages.
Je m’attendais à avoir des exemples et des retours d’expérience sur des erreurs très courantes ainsi que des stratégies pour bien faire les choix d’architecture.