I just got back from vacation where I finished reading Applying Domain-Driven Design and Patterns by Jimmy Nilsson.
I spent most of the day trying to make a dent in my Inbox when I came across an email from Amazon mentioning a new book from Robert Martin, called Agile Principles, Patterns, and Practices in C#. Wow!
I was so impressed by the original version, Agile Software Development Principles Patterns and Practices, that I wrote a chapter by chapter review on most of it:
It is also on my list of OOP and Design Patterns Resources - Books Websites Articles.
Anyway, the new C# version expected to come out later this month has an impressive list of features it covers:
- Agile principles, and the fourteen practices of Extreme Programming
- Spiking, splitting, velocity, and planning iterations and releases
- Test driven development, test first design, and acceptance testing
- Refactoring with unit testing
- Pair programming
- Agile design and design smells
- The Single Responsibility Principle and the Open Closed Principle
- The Liskov Substitution Principle and the Dependency Inversion Principle
- The Interface Segregation Principle, and Separation through Delegation and Multiple Inheritance
- The five types of UML diagrams and how to use them effectively
- Object-oriented package design and design patterns
- How to put all of this together for a real-world project
You can read more about the book here. Sounds like a winner.