Goodreads helps you keep track of books you want to read.
Start by marking “Clean Architecture” as Want to Read:
Clean Architecture
Enlarge cover
Rate this book
Clear rating
Open Preview

Clean Architecture

4.22  ·  Rating details ·  1,316 ratings  ·  111 reviews
Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to application architecture and design.
As with his other books, Martin's Clean Architecture doesn't merely present multiple choices and options, and say "use your best judgment": it tel
Paperback, 1, 432 pages
Published December 20th 2016 by Prentice Hall
More Details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Clean Architecture, please sign up.
Popular Answered Questions

Community Reviews

Showing 1-30
4.22  · 
Rating details
 ·  1,316 ratings  ·  111 reviews

Sort order
Rod Hilton
Oct 25, 2017 rated it really liked it  ·  review of another edition
Shelves: programming
I really liked this book but also was a bit disappointed by it. I'm a huge fan of Robert Martin's work, I've read his previous books and I love Clean Code and The Clean Coder. Based on the title and artwork I had kind of assumed that this was just the next step of the Clean Trilogy, this time focusing on architectural concerns.

It is kind of that, but it's mostly not quite that. Really, this book is a lot of background information to understand the "meat" of the book, and the meat of the book is
Carlos Buenosvinos
First of all, I’m a big fan of Robert C. Martin’s work. I think (I have purchased all videos from Clean Code, Clean Coders and Clean Coders Applied series) is a great learning resource and I have read all others books (Clean Code, Clean Coders and Agile Software Development Principles, Patterns and Practices).

About this book, I may had too high expectations about this book. I’m disappointed. 85% of the book is reviewing the SOLID principles and how to apply them to components (it
Eduards Sizovs
Jun 26, 2017 rated it it was ok
This is the first book of Uncle Bob that I didn't like – it's shallow, impractical, and full of stories from forgotten 90's. A significant part of the book (explanation of SOLID principles) has been copied (with few alternations) from "Agile PPP" book, which is, in my opinion, a much more thorough book.

To understand modularity patterns mentioned in this book, I suggest taking alternative path – reading "Java Application Architecture" by Kirk Knoernschild.

In addition to modularity and SOLID, the
Thiago Ramos
Oct 15, 2018 rated it it was amazing
this is really an excelent book about creating good, reusable and disconnected from infrastructure details code.

If clean code was all about the code, this is about how you structure the code to make it more reusable, framewoderk independent and solid.

If you think MVC and Rails or Django or Phoenix is the way to go for a web project, think again with this book.

Great software does not rely on any framework. It just uses the framework when it needs.
Mohamed Elsherif
Sep 26, 2018 rated it really liked it  ·  review of another edition
Overall a good book, you will learn few things from it, or at least it will be a good refresher, although it is not bringing any new ideas, worth reading if you like uncle Bob.
Pavel Gatilov
Jan 28, 2018 rated it it was amazing  ·  review of another edition
Clean Guide for an Architect

The book covers different sides of the Software Architect role. The conflicting collaboration of business and technology. The crucial architect's focus topics. The architecture principles derived from the famous SOLID principles and proven by decades. Some of the common architecture mistakes.

All topics of the book have bright and laconic descriptions. The are also many colorful and didactic examples to the ideas, often taken from the author's experience. And besides,
Apr 19, 2018 rated it liked it
Shelves: 2018, owned, technical
Interesting, but too long with too many not needed and off-topic anecdotes. Still worth your time, but not as insightful as previous titles from "Clean X" series.
Sebastian Gebski
Sep 30, 2017 rated it really liked it  ·  review of another edition
Some key remarks I have:
1. Even if it may look (at some point) deceptively simple, ... it isn't. In fact, the most valuable lessons will be truly comprehensible (& clear) only for people with certain level of experience.
2. This book doesn't try to cover anything in particular in the end-to-end way, it's more about certain aspects of software architecture Uncle Bob finds most important (e.g. SOLID principles, boundaries, proper approach to composition, etc.). Needless to say - these are unive
Sergey Teplyakov
Apr 06, 2018 rated it it was ok
The book isn't bad, but not very practical.

All the principles described in the book make sense once you understand them and saw issues in practice. But what if you unfamiliar with them? What if you want to understand them? In this case, the book wouldn't help: the chapter dedicated to design/architecture principles are very short without any practical examples.

Lack of examples is the main problem though. It is hard to provide good samples for a design/architecture book but without them, it is ha
Maris Krivtezs
Dec 02, 2017 rated it it was amazing
Many of the reviewers who rated it low misunderstood the book. I see in the reviews that they expected microservice, CQRS and other "architecture" descriptions. But this book is about something different. This is about the "clean" architecture. Yes he uses SOLID to describe architecture components, but from the different angle than talking about the code.
The book also is a good read just because of the style and story. Uncle Bob always is a good storyteller.
Just read and enjoy the book. Do not e
Patkós Csaba
Mar 29, 2018 rated it really liked it
Shelves: programming
Interesting and very well written. If you are familiar with the SOLID principles, this book will be an easy read.
Not 5 stars because it contains too little information in my opinion. I don't mean that it is a short book, not at all. However it doesn't really revolutionize your perspective on design and architecture if you are already applying SOLID in you application.
In many places I had the distinct feeling that the author was talking in generic terms and just filling in the pages with non-esse
Michał Kostrzewa
Feb 25, 2018 rated it it was amazing
Really enjoyed it, it was surprisingly easy to read. Explained all the rules and principles well. I was thinking about our production code all the time while reading it.

Chapter about decoupling tests via a Test API really needs some examples. Especially because of already existing controversy about fragility of TDD etc.
Robson Castilho
Oct 19, 2017 rated it liked it
Shelves: software
Mixed feelings about this book. On one side, it explains what software architecture is about, filled with valuable design principles (at class level and at component level).

On the other side, it's a very short book, basically with a fast compilation of everything he said before. Even when he touches fresh subjects, like distributed systems (SOA/Microservices), the chapters are a little bit shallow. I've missed more code samples to clarify some concepts.

Don't get me wrong: it's a very good book,
Rodrigo Burgos
Jan 21, 2019 rated it it was amazing
Is a great book, I demystified some thoughts I had about software architecture
- Be aware of how to architect your unit test.
- How to apply SOLID principles in a web service architecture
- A monolithic architect is not bad if you know the advantage and disadvantage
- Use framework but not married your business logic to them
Toni Tassani
Nov 13, 2017 rated it it was ok  ·  review of another edition
Shelves: safari
A review of programming paradigms and SOLID, adding very little more and simplifying the concept of architecture to only software architecture/design.
Chapter 34, authored by Simon Brown, is very good.
Nick Jamil
Jun 02, 2018 rated it it was amazing
I think if a software engineer reads only two books in their career... first of all, shame on them :)... but second of all, those books should be 1) Clean Code, and 2) Clean Architecture.
Jun 15, 2018 rated it it was amazing
Sep 28, 2018 rated it really liked it
Shelves: computer-science
i quit my job because of this book, 4 stars
Dec 14, 2018 rated it really liked it
If you read the book Clean Code or you just like the style of Uncle Bob writing, Clear Architecture is a right sequel for you.
Feb 24, 2019 rated it liked it
With one word – reasonable.

There wouldn't be many people who would benefit much from it. Beginners would need a lot more context and examples, while more experienced developers wouldn't learn much new. Mixing principles with a more specific suggested architecture doesn't help either.

Clean Architecture is useful to start a conversation, provoke questions, or give ideas how to explain patterns one understands on a subconscious level.
Jan 24, 2018 rated it liked it  ·  review of another edition
It's an OK book. Not a total waste of your time but it's just Uncle Bob trying to milk the SOLID cow a bit more.
Nov 25, 2018 rated it did not like it
Shelves: cs
Such a sad and useless book. Let me save you time and money by summarizing the entire book in one deceitful sentence: "Use interfaces to hide implementation details." Done. Now you can go spend your $30 on something better. Like beer.

Of course the best part of it all is that now there is an army of bro-coders out there thinking that they know what's up, so every single code package they check in has a useless interface per every "implementation" class.

Here is a life pro-tip: if you ever stumble
Mar 19, 2018 rated it it was ok
I'm very disappointed with this book. I had very high expectations of it after having read Uncle Bob's excellent "Clean Code" and "The Clean Coder", but after reading this, I can only feel that my money's only purpose was to help the author set up a second gold-coated swimming pool at their mansion - there was little to learn here.

I would divide the book in two halves. The first of these hardly bears any relevance at all - it's mostly anecdotes and stuff that (in my opinion) doesn't really need
Wojtek Erbetowski
Sep 16, 2017 rated it really liked it
This book was exactly what I expected it to be.

I have attended several talks by Uncle Bob and read his 'Clean Code' a long time ago. I wasn't surprised by the contents, as his stand on the architecture (as it seems to me) is consistent and stable. Some of his war stories are hard to overvalue.

The most important part I have read there is about SRP and how to understand it differently than it's commonly understood.

I recommend the book to most software engineers, to both learn, and get a topic to d
Mike Moore
Feb 26, 2019 rated it liked it
I was excited to read a book by Uncle Bob that would bring the clarity and insight from Clean Code to the discipline of architecture. To say that this is not the book I had hoped for is an understatement.

First the bad: this is not a book about architecture. Even if you accept a fairly constrained view of what that can mean (e.g. Architecture of a single language software application), it covers a tiny fraction of the domain. This is unsurprising once you realize how skimpy the book actually is.
Ana Todor
Mar 10, 2019 rated it liked it
This review has been hidden because it contains spoilers. To view it, click here.
Ruslan Bes
It's surprising that the whole book is by and large describing only one principle over and over. You would think it ought to be boring but it's not.

I would formulate that principle as "Define architectural boundaries and hide details behind them". It sounds simple but really using this principle requires a lot of experience and patience and willpower to say "no" to shortcuts and many other things.

Even more interesting is that many developers after some time come to this principle after realizing
Igor Celik
Sep 25, 2017 rated it it was amazing  ·  review of another edition
The book starts from the premise that design and architecture are the same, thus every decision you take from lower to the highest levels are a continuum of architectural decisions.

The book introduces you to the principles by which all of the these architectural decision should be taken - from classes(SOLID) to components(CCP,SDP,REP) and then to higher level architecture (layers).
It explains which elements of the software are architecture and which are mere details.
This book is not about specif
Jan 06, 2019 rated it liked it
I have to say after 'Clean Code' and 'Clean Coder' (which both stay on the top of my favourite-technical-books list) I am a bit disappointed with 'Clean Architecture'.

Reviewing SOLID principles was clear and easy to follow but not sure if really needed. The 'back in my days' stories are fine from time to time but in 'Clean Architecture' (especially after reading the other two books first) this stuff just gets in the way. I enjoyed the deep explanation of the boundaries and the overall idea of ho
Jan 10, 2018 rated it it was amazing
This is a book on architecture with context. Robert Martin explains an approach to architecture in a way that is grounded in good design and in history. Of the many points I took from the book, are ones that are both obvious, and insightful: ones that you never hear people talk about, but which I could not help agree with: Architecture is about what decisions you can defer, architecture is about creating a framework that makes change easy, and architectural choices go in cycles (there isn't a wh ...more
« previous 1 3 4 5 6 7 8 9 next »
There are no discussion topics on this book yet. Be the first to start one »
  • Building Evolutionary Architectures: Support Constant Change
  • Software Architecture for Developers: Volume 1 - Technical leadership and the balance with agility
  • Your Code As a Crime Scene: Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs
  • Java Performance: The Definitive Guide
  • A Philosophy of Software Design
  • The Art of Unit Testing: With Examples in .NET
  • Refactoring to Patterns
  • The Little Book of Semaphores: The Ins and Outs of Concurrency Control and Common Mistakes
  • Functional and Reactive Domain Modeling
  • Implementing Domain-Driven Design
  • Implementation Patterns
  • Seven Concurrency Models in Seven Weeks: When Threads Unravel
  • Designing Data-Intensive Applications
  • The Go Programming Language
  • Understanding the Four Rules of Simple Design
  • ATDD by Example: A Practical Guide to Acceptance Test-Driven Development
  • Documenting Software Architectures: Views and Beyond
  • Growing Object-Oriented Software, Guided by Tests

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Robert Cecil Martin, commonly called Uncle Bob, is a software engineer, advocate of Agile development methods, and President of Object Mentor Inc. Martin and his team of software consultants use Object-Oriented Design, Patterns, UML, Agile Methodologies, and eXtreme Programming with worldwide clients.

He was Editor in Chief of the C++ Report from 1996 to 1999. He is a featured speaker at internatio
“Good architecture makes the system easy to understand, easy to develop, easy to maintain, and easy to deploy. The ultimate goal is to minimize the lifetime cost of the system and to maximize programmer productivity.” 2 likes
“Another problem with service-level decoupling is that it is expensive, both in development time and in system resources. Dealing with service boundaries where none are needed is a waste of effort, memory, and cycles. And, yes, I know that the last two are cheap—but the first is not.” 2 likes
More quotes…