Main Page | See live article | Alphabetical index

Pattern language

A pattern language is a way of expressing multiple solutions to complex problems.

Christopher Alexander coined the term Pattern Language to emphasize his belief that people had an innate ability for design that paralleled their ability to speak.

Chris's book A Timeless Way Of Building is the most instructive in describing his notion of a pattern language and its application to designing and building buildings and towns.

He defines a 'pattern' as a three part construct. First comes the 'context'; under what conditions does this pattern hold. Next are a 'system of forces'. In many ways it is natural to think of this as the 'problem' or 'goal'. The third part is the 'solution'; a configuration that balances the system of forces or solves the problems presented.

Pattern Language Rules:

You will probably need one window open for writing your page, and at least one more to jump back and forth between references.

Ward Cunningham created Wikiwiki as a way to express pattern languages effectively; the Portland Pattern Repository has hundreds of patterns for a variety of things, including many for extreme programming.

External Links