ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Title:
Clean Architecture: A Craftsman's Guide to Software Structure and Design
Author:
Robert C. Martin
ISBN:
978-0134494166
Publisher:
Prentice Hall
Pages:
428pp
Price:
£22.17
Reviewer:
Ian Bruntlett
Subject:
Architecture
Appeared in:
30-6

The backbone of this book is the design principles/guidelines that are organised into the acronym SOLID. They are:

° SRP: The Single Responsibility Principle.

° OCP: The Open-Closed Principle.

° LSP: The Liskov Substitution Principle.

° ISP: The Interface Segregation Principle.

° DIP: The Dependency Inversion Principle.

Overview

This book is split into 7 parts, spanning 35 chapters.

Part 1 is the introduction.

Part 2 covers programming paradigms and takes the position that, with Structured Programming, Object-Oriented Programming and Functional Programming all having been discovered, we have no more paradigms to discover.

Part 3 goes into detail about SOLID design principles and this covers things I am more familiar with.

Part 4 is about design principles for dealing with components, something I am unable to comment on.

Part 5 is all about architecture and will bear reading and re-reading.

Part 6 takes the view that the database, the web, and frameworks are all low-level details which you should isolate yourself from, using abstractions.

Part 7 – the Appendix – is a collection of interesting anecdotes relating situations that reinforces the conclusions of this book.

I do have some alternative SOLID acronyms – wide eyed Software Engineers might think of it as System Of Leveraging Interesting Designs and hard-bitten consultants might think of it as System Of Leveraging Immense Dosh. Other people have discussed SOLID – help from accugeneral prompted me to look at Chris Oldwood’s article ‘KISSing SOLID Goodbye’ in Overload 122 and to watch Kevlin Henney’s ‘SOLID Deconstruction’ presentation and this helped me adopt a less prescriptive approach to SOLID.

Things I gained from this book:

° Better understanding of the SOLID design principles / guidelines.

° Introduction to the Clean Architecture.

Downsides:

° Wedded to component architecture.

° Some of the structured diagrams are a bit too abstract for me – I would have appreciated something in addition – perhaps an explanation and a CRC card or two.

Conclusion

I’m going to have to read this book again, after a suitable period of doing other things. I particularly liked the contributions made by other authors. This is a thought provoking book that discusses the importance of coding, design, and architecture. Well worth reading – repeatedly.