A design pattern is not a very complicated idea. It started when some
people with a lot of experience programming object-oriented systems
noticed that they were writing essentially the same code over and over
again in slightly different ways on different projects.
So, they came up with a general description of what this code did, and
then published the design (of the code) and examples. In other words,
they found a common problem, designed a good solution, gave the
solution a name, and published it.
The advantage of design patterns is that if you use them, you will be
solving certain well-known problems in a well-known way, so other
programmers reading your code will immediately recognize what you're
doing.
As well, the published patterns are solid and have worked out a lot of
common mistakes, so your code tends to be better as a result.
The famous book on design patterns is called Design Patterns, by Gamma,
Helm, Johnson and Vlissides, whom you will hear called "The Gang of
Four". You can see the book at Amazon, here:
http://www.amazon.com/gp/product/020...lance&n=283155