A __pattern language__ is a method of describing good design practices or patterns of useful organization within a field of expertise. The term was coined by architect Christopher Alexander and popularized by his 1977 book A Pattern Language - wikipedia
A pattern language can also be an attempt to express the deeper wisdom of what brings aliveness within a particular field of human endeavor, through a set of interconnected patterns. Aliveness is one placeholder term for "the quality that has no name": a sense of wholeness, spirit, or grace, that while of varying form, is precise and empirically verifiable. Some advocates of this design approach claim that ordinary people can use it to successfully solve very large, complex design problems.
# What is a pattern?
When a designer designs something – whether a house, computer program, or lamp – they must make many decisions about how to solve problems. A single problem is documented with its typical place (the syntax), and use (the grammar) with the most common and recognized good solution seen in the wild, like the examples seen in dictionary.
Each such entry is a single design pattern. Each pattern has a name, a descriptive entry, and some cross-references, much like a dictionary entry. A documented pattern should explain why that solution is good in the pattern's contexts.
Elemental or universal ''patterns'' such as "door" or "partnership" are versatile ideals of design, either as found in experience or for use as components in practice, explicitly described as holistic resolutions of the forces in recurrent contexts and circumstances, whether in architecture, medicine, software development or governance, etc. Patterns might be invented or found and studied, such as the naturally occurring patterns of design that characterize human environments.
Like all languages, a pattern language has vocabulary, syntax, and grammar – but a pattern language applies to some complex activity other than communication. In pattern languages for design, the parts break down in this way:
- The language description – the ''vocabulary'' – is a collection of named, described solutions to problems in a field of interest. These are called ''design patterns''. So, for example, the language for architecture describes items like: settlements, buildings, rooms, windows, latches, etc. - Each solution includes ''syntax'', a description that shows where the solution fits in a larger, more comprehensive or more abstract design. This automatically links the solution into a web of other needed solutions. For example, rooms have ways to get light, and ways to get people in and out. - The solution includes ''grammar'' that describes how the solution solves a problem or produces a benefit. So, if the benefit is unneeded, the solution is not used. Perhaps that part of the design can be left empty to save money or other resources; if people do not need to wait to enter a room, a simple doorway can replace a waiting room. - In the language description, grammar and syntax cross index (often with a literal alphabetic index of pattern names) to other named solutions, so the designer can quickly think from one solution to related, needed solutions, and document them in a logical way. In Christopher Alexander's book ''A Pattern Language'', the patterns are in decreasing order by size, with a separate alphabetic index. - The web of relationships in the index of the language provides many paths through the design process.
Christopher Alexander, an architect and author, coined the term pattern language. He used it to refer to common problems of the design and construction of buildings and towns and how they should be solved. The solutions proposed in the book include suggestions ranging from how cities and towns should be structured to where windows should be placed in a room - wikipedia
The framework and philosophy of the "pattern language" approach was initially popularized in the book ''A Pattern Language'' that was written by Christopher Alexander and five colleagues at the Center for Environmental Structure in Berkeley, California in the late 1970s.
While ''A Pattern Language'' contains 253 "patterns" from the first pattern, "Independent Regions" (the most general) to the last, "Things from Your Life", Alexander's book ''The Timeless Way of Building'' goes into more depth about the motivation and purpose of the work. The following definitions of "pattern" and "pattern language" are paraphrased from ''A Pattern Language'':
"A ''pattern'' is a careful description of a perennial solution to a recurring problem within a building context, describing one of the configurations that brings life to a building. Each pattern describes a problem that occurs over and over again in our environment, and then describes the core solution to that problem, in such a way that you can use the solution a million times over, without ever doing it the same way twice."
A ''pattern language'' is a network of patterns that call upon one another. Patterns help us remember insights and knowledge about design and can be used in combination to create solutions.
# See also