I just recently finished Jeremy Clark’s Design Patterns On-Ramp. I was very impressed with the presentation, and I think he did a fantastic job explaining patterns. His target audience is people with some .NET development experience but who are not necessarily architects or guys with twenty years of development experience.
Clark’s first goal was to describe patterns in general and show how they apply to software development. From there, he spends a lot of time talking about patterns that we already use in day-to-day C# development. I think this was a great idea, as Clark significantly reduces the mental cost of understanding patterns, showing that we intuitively have some understanding of the topic today.
After that, Clark introduces a few important patterns which newer developers might not have used, showing that it isn’t difficult to pick up on new patterns once you know what to look for. Clark even introduces a non-GOF pattern: the Repository pattern.
For an introduction to patterns, I don’t think you can ask for much more than what Jeremy has on offer. I highly recommend this course to anybody looking to begin learning about this topic.