Beginning Solid principles and design patterns for ASP.NET developers - Joshi, Bipin (Expert's voice in .NET development, 2016)