If you need a FREE patterns book, better: Bruce Eckell's Thinking in Patterns. http://64.78.49.204/TIPatterns-0.9.zip
He is a great teacher and an expert.
But I guess that before thinking in patterns one should be aware of what is structuring well some code...