20 of 20 people found the following review helpful
Amazon Verified Purchase(What is this?)
This review is from: Dependency Injection in .NET (Paperback)
This book gives one of the best explanations of Dependency Injection you will find. Given that DI is applicable almost everywhere, this has to make it one of the most important books for any .NET developer to read.
I thought that with over 15 years of OO coding experience there wouldn't be much for me here, but I couldn't have been more wrong. Somehow, although the vast majority of the text seems familiar, the clarity of the explanations have had a revitalising effect on me - coding the right way just seems to be so much clearer now! The exposition is brought to life with a set of example code that is simple enough not to cloud the issues at hand yet complex enough to translate easily to real-world applications. This is a difficult balance to strike but Mark has really hit the nail on the head.
I found the sections on Anti-Patterns particularly enlightening - the description of each explains why these anti-patterns arise in a way that reinforces the understanding and motivation for the Patterns covered in the preceding section, and provides you a clear refactoring path towards a better solution.
I'm not ashamed to say that reading this book has had a significant positive impact on my application design and also improved my approach to Test Driven Development. I've found myself detecting and correcting code smells far more efficiently than I was previously able to.
If you are completely new to DI, then your experience may be harder going. This book does assume a fair degree familiarity with OO concepts - and references to ideas like SOLID code and refactoring are brought up without going into too much background detail. However, there are plenty of links in the footnotes to informative blog posts and books. If phrases like "coding to interfaces", "pattern", "anti-pattern" and "abstract factories" are only vaguely familiar to you, then you will have some reading around the subject to do to get full benefit from this book.
The benefits of understanding the ideas so well presented in this book cannot really be understated. Mark Seemann has created a book that ranks alongside the works of Bob Martin, Eric Evans, Jon Skeet and Jeffrey Richter in terms of its potential impact and importance to C# developers. Highly recommended.