The Timeless Way of Building
Head First Design Patterns: A Brain-Friendly Guide
The Art of Unit Testing: with examples in C#