Agile principles, patterns, and practices in C# - Martin, Robert C.; Martin, Micah (Robert C. Martin series, 2007)