Design patterns are funny in that you only know where to use a pattern when you fully understand the applicable pattern. Things like Strategy, Observer, Iterator you can, aftera little practice, use without thinking too hard. If you're in C# you use the Iterator all the time (IEnumerable...) without thinking of it as a pattern.
In my opinion, these simple patterns are the best patterns. You've already got a job to do, and trying to shoehorn your problem into one pattern after another when it doesn't quite fit is a waste of your time, and results in bad code.
My advice is to look at the uml diagrams for a pattern, and if it's fairly simple, then try and learn it well enough that you can recall it later. A pattern with a simpler contract is likely to be more useful more often.