Patterns FAQ

Send more Q/A's for this FAQ to

What is a pattern?

The book Design Patterns states that a pattern, or design pattern, makes it easier for developers to reuse successful designs and architectures. Each pattern systematically names, explains, and evaluates an important and recurring design in object-oriented systems. They help designers get the design of their systems "right" faster. As defined by Design Patterns, a pattern has four essential elements:
  • Pattern Name - The name describes a design problem, its solutions, and consquences in a word or two. It allows designers to design at a higher level of abstraction. A name also allows designers to communicate with other designers in their documentation and amongst themselves.
  • Problem - The problem describes when to apply the pattern. It might describe how to represent algorithms, classes, or object structures.
  • Solution - The solution describes the elements that make up the design, their relationships, responsibilities, and collaborations. It's an abstract description of a design problem and how to solve it.
  • Consqueunces - The consequences are the results, risks, and trade-offs of applying the pattern. They are necessary in understanding and evaluating the costs and benefits of applying the pattern.
  • Discuss this article in the forums

    Date this article was posted to 6/19/2001
    (Note that this date does not necessarily correspond to the date the article was written)

    See Also:
    Design Patterns

    © 1999-2011 All rights reserved. Terms of Use Privacy Policy
    Comments? Questions? Feedback? Click here!