Well, I'm quite sure some of you have already encounter design problems for an OOP (Object Oriented Programming) application. How can objets collaborate while keeping them generic and extensible? Maybe some have tried to draw UML diagrams but didn't find out how to start a good design of an application.
For all these persons, the solution is "design patterns"! (TADA!!!)
Here are some links to learn more:
Design patterns book - the best referenceThe corresponding article in PDFThinking in patterns e-book