It is often suggested that people lenarn design patterns only after they have mastered basic object-oriented skills.I have found that the opposite is true:learning design pattern early in the learning of object-oriented skills greatly helps to improve understanding of object-oriented analysis and design.
I will discuss not only design patterns, but also how they reveal and reinforce good object-oriented principles. I hope to improve both your understanding of these principles and illustrate why the design patterns being discussed here represent good designs.