Term Definition: pattern
Main Description
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, design patterns, test patterns and idioms or implementation patterns.