Dependency injection in .NET - Seemann, Mark (Mannin, 2012)