Book Review: Clean architecture, by Robert martin
I’ve just finished the excellent “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” by the famous “Uncle Bob” Martin.
Still a very relevant book for 2020 with timeless principles of software development and architecture!
You probably saw a hundred or more implementation of the 5 solid principles:
- Single responsibility
- Liskov substitution
- Interface segregation
- Dependency Inversion
What the book highlights is not only what they are, but also why and when would you use them. It’s easy to see why teams that adopted those principles became more productive with better collaboration between the team members.
The second part of the book is around the architecture of software, focusing specifically on the definition of boundaries between business rules and infrastructure.
He uses a definition for business rules that certainly changes my view of how to approach software implementation:
A business rule is something that saves or makes business money
The definition of user interfaces, databases and frameworks as details of your software helps you to understand how to write software for extensibility!
The last third of the book is focused on showing different architectures approaches and doing a comparison between them. If you, like me been in software for a while, you probably have seen those more than you would like to admit!
And again he shows the what, why and how of each of those architectures giving the pros and cons of each of those.
Definitely a must-read for anyone that cares about software!