This book gives a lot of insight into dependency injection and inversion of control – both in terms related to .NET and in general. It points out common patterns that work well with DI, code smells that make you want to look more carefully for potential problems, and anti-patterns that are more a problem than a solution. When pointing out patterns, he mentions common cases, pros, and cons. When pointing out code smells and anti-patterns, he talks of how to refactor and get the code in a better spot.
Even if you aren’t one to read books like this from cover to cover, I recommend having this book as a reference for DI, good practices when working with DI, what to avoid, how to recover, and even some demos with common DI containers.
See Also: Goodreads