New book of the month for this blog:
Get this book if you are an experienced developer and have been fighting with designing applications from the ground up, including data layer, business layer and UI layer. It will open your eye. Of course, if you did not read Design Patterns first, you have to get that one first. Trust me.