WHAT IS A PATTERN LANGUAGE?
- A pattern language defines a collection of patterns
and the rules to combine them into an architectural style. Pattern
languages describe software frameworks or families of related systems.
[Cope]
- A pattern language is a structured collection of patterns that build
on each other to transform needs and constraints into an architecture.
[Cope]
- If a pattern is a recurring solution to a problem in a context given
by some forces, then a pattern language is a collective of such solutions
which, at every level of scale, work together to resolve a complex problem
into an orderly solution according to a pre-defined
goal.[community]
- Good pattern languages guide the designer toward useful architectures and away from architectures whose literary analogies
are gibberish or
unartful writing. Good architectures are durable, functional, and aesthetically pleasing, and a good combination of patterns can balance the
forces on a system to strive towards these three goals. A good pattern language gives designers freedom to express themselves and to tailor the
solution to the particular needs of the context where the patterns are
applied. [Cope]
- In the case of natural languages, the pattern language is generative. It not only tells us the rules of arrangement, but
shows us
how to construct arrangements -- as many as we want -- which satisfy the
rules [Alexander]
- A pattern language gives each person who uses it, the power to create an infinite variety of new and unique buildings, just
as his ordinary
language gives him the power to create an infinite variety of
sentences.[Alexander]
- A pattern language forms a gestalt in which each of its patterns
collaborate to solve a more fundamental problem that is not explicitly
addressed by any individual pattern.[Alexander]