Read Refactoring first than read Design Patterns(GoF).
http://www.amazon.com/Refactoring-Patterns-Joshua-Kerievsky/...