Design patterns are solutions for common architectural problems in software engineering. They serve as a technology-independent blueprint to solve recurring problems on a conceptual level.
Although not tied to a specific programming language, most patterns rely heavily on OOP concepts, especially those defined by the Gang of Four. Due to their object-oriented nature, UML is a very convenient way to describe their structure.
The following catalogue contains a selection of some commonly used patterns, each illustrated by a UML class diagram, followed by a more detailed textural description. The drawings are free to use for your own blog, lecture or whatever project you want to use them for.
More patterns will follow, so stay tuned for further updates!
If you like, please share your thoughts about these patterns on Twitter (@UMLBoard) or just send me a message.