When you model patterns in the UML, remember that they work at many levels of abstraction, from individual classes to the shape of the system as a whole. The most interesting kinds of patterns are mechanisms and frameworks. A well-structured pattern
Solves a common problem in a common way.
Consists of both structural and behavioral aspects.
Exposes the slots, tabs, knobs, and dials by which you adapt those aspects to apply them to some context.
Is atomic, meaning that it is not easily broken into smaller patterns.
Tends to cut across individual abstractions in the system.
When you draw a pattern in the UML,
Expose the elements of the pattern that you must adapt in context.
Supply use cases for using, as well as adapting, the pattern.