I've previously ruminated about this here in my blog, and several commenters had answered correctly too, so I'll just underline some concepts: A pattern is a recognized recurrent solution for a recurrent problem, observed in the wild. Normally, good patterns tend to be documented, but there are also bad patterns too (see Anti-Pattern). This said, a pattern IS NOT a basic building block!
The main problem with appreciating something as patterns is that one needs to have experience in the field, so that it can have the "Hmmmm, I've seen this!" reaction.
So why do we teach them? Well, my students do not normally grasp a pattern until they proudly come up with a self-crafted (though perhaps flawed) solution, and I say something like: "Why don't you just use a Strategy there?". So there is value in teaching them, but, ultimately, they'll only be appreciated by those who've talked the talk and walked the walk.