It’s been a long time since I have done a book review, I must admit I read less and less technical books nowadays and mainly use web articles, YouTube and Pluralsight to keep myself up to date with technologies. Saying that there are some books that come out that are worth a read every now and then. I want to review Adaptive Code via C# by Gary McLean Hall which I finished reading a month or so ago.
Paperback: 544 pages
Publisher: Microsoft Press; 1 edition (25 Aug. 2014)
Product Dimensions: 18.8 x 3 x 22.1 cm
First of all I want to say I really enjoyed reading this book and I would urge any developer no matter how junior or senior to give it a read. It does a great job of covering the SOLID principles with clear concise chapters on each principle, giving examples and code snippets to help with understanding the concepts.
I had actually just finished the course entitled Encapsulation and SOLID from Pluralsight which is also a great course and I would recommend you both read the book and do the course. If you don’t have a Pluralsight subscription then why not?
Anyway I already had some knowledge of SOLID principles before, but doing the course helped me to deepen my knowledge even further. The book just adds to that knowledge and helped me to imprint on my brain the different concepts and patterns used to help me write better code in C#.
The book is split into two parts. The first part is really a primer on four concepts you need to know to engage in an agile project including Scrum, dealing with dependencies, interfaces and design patterns, unit testing and refactoring. If I’m honest I pretty much skimmed most of this content, mainly because I have alot of experience with these concepts already but there is definitely some good concise content there for anyone who hasn’t come across these ideas before and if you haven’t then I suggest you make sure you get to grips with them before moving onto part 2.
Part 2 is really chapters on each of the principles of SOLID. The single responsibility principle, the open/closed principle, the Liskov substitution principle, interface segregation and dependency injection.
Part 2 is where the good stuff in this book is, I thoroughly enjoyed going over each principle and the book does a good job of explaining the concepts in a concise way with good code examples.
This book will definitely make you a better developer the SOLID principles in my opinion are a good base of patterns to help you write better code. I would recommend any developer who is interested in honing their skills on the subject to give this a read.