Tdd Apps

# Book Review: Clean Architecture

Oct 31, 2018 2 minute read

Clean Architecture can be described in a word: thorough. The book explains the SOLID principles in detail. It walks through the evolution of programming paradigms. How they took away features while maintaining productivity. The book revolves around the idea that business rules are the most important application component. And they should not depend on external details. Full of practical examples. The final chapter on itself -written by Simon Brown- makes the book worth reading. In summary, Clean Architecture feels like a nice complement to Clean Code and Domain Driven Design.

The Author

I have a deep admiration for Robert C. Martin (Uncle Bob). His advice on Clean Code and the Clean Coders Videos has significantly advanced my career. Familiar readers of his work will feel like they have already read the book. I would go even further and say it could fit in two thirds of the pages.

The Stories

The author wouldn’t be himself without his stories of ancient computers and perforated cards. This book is no exception. It even has a dedicated appendix for them. Although some of the metaphors and examples may no longer apply. They certainly help explain the book lessons. And provide invaluable practical examples of what otherwise be a very abstract topic.

Architecture

This book challenges the foundational beliefs of many software architects.

The goal of software architecture is to minimize the human resources required to build and maintain the required system

And yet, this definition of architecture is a great tool to gauge the quality of a project. I particularly liked the explanations around the increased costs of lines of code. The book showcases several architecture quality measurement tools. It also describes testing patterns and their effects on an architecture. e.g. the Humble Object pattern.

Details

The book stresses the need to decouple architecture from details. It covers how GUIs, databases, and frameworks are details. And as such, should not be coupled.

I agree with that guideline. I’ve worked on several projects with high coupling. Where a button change required a database schema modification.

Clean Architecture

Should you read it?

Clean Architecture has good guidelines to design maintainable software. This book can be a good introduction for the SOLID principles. At worst it is a history of computer evolution. Definitely, worth the read.

Never miss a post. Subscribe to our newsletter