Советую эту книгу любому, кто заинтересован в понимании принципов слабой связанности и внедрения зависимостей (DI) при разработке ПО (а в особенности C# разработчикам). Помимо непосредственно разбора DI, авторы показывают довольно много примеров практического использования данной концепции, как в чистом виде, так и с использованием DI-контейнеров. Разбираются паттерны и антипаттерны использования DI.