By far a really good book on design patterns is -
"Design Patterns" by by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch (Designer)
We had used this book while designing one of our projects. I feel it is a bit heavy for first timers but once you get a hang of it it is really good.
I am going through another book which is kind of a quick reference -
"Essential Java Style - Patterns for Implementation" by Jeff Langr.
I will not comment on it yet. I will say it is a good primer for patterns.