Wikipedia has a good summary about the various design patterns. Which ones have you used at most in practice and what are your experiences? When should one go for a pattern and when not ?
Edit: A cool C# based link with practical DP examples ( tnx to Mladen Mihajlovic)
You should definitely avoid ‘Pattern Driven Design’ where you try to cram as many patterns as possible into your classes. I find it useful to know the most important design patterns and when I come across a new design problem I ask myself the question ‘Do I know a pattern that can be useful here?’. If I do then I try to use it; if not then I don’t (I also sometimes look them up for I don’t know every pattern by heart).
Design patterns can really help you to improve your code but used wrongly they can also really mess things up.