|A solution template for a recurring problem that has proven useful in a given context. Good patterns successfully resolve
the conflicting forces that define the problem, and one pattern is chosen over another based on the way it resolves those
forces. To be worthy of being called a pattern, at least three practical applications of the pattern should already be
evident. For software, the UML can support the representation of a pattern by using a parameterized collaboration although
UML does not directly model other aspects of patterns such as lists of consequences of use, examples of use, and so on-text
can be used for these. A software pattern is instantiated by binding values to its parameters. Patterns can exist at
various scales and levels of abstraction, for example, as architectural patterns, analysis
patterns, test patterns and idioms or implementation patterns.
© Copyright IBM Corp. 1987, 2006. All Rights Reserved.