A pattern language, as conceived by Alexander, contains links from one pattern to another, so when trying to apply one pattern in a project, a designer is pushed to other patterns that are considered helpful in its context. In Alexander's book, such links are collected in the "references" part, and echoed in the linked pattern's "context" part – thus the overall structure is a
directed graph. A pattern that is linked to in the "references" usually addresses a problem of lower scale, that is suggested as a part of the higher-scale problem. For instance, the "PUBLIC OUTDOOR ROOM" pattern has a reference to "STAIR SEATS". Even without the pattern description, these links, along with meaningful names, carry a message: When building a place outside where people can spend time ("PUBLIC OUTDOOR ROOM"), consider to surround it by stairs where people can sit ("STAIR SEATS"). If you are planning an office ("WORKSHOPS AND OFFICES"), consider to arrange workspaces in small groups ("SMALL WORKING GROUPS"). Alexander argues that the connections in the network can be considered even more meaningful than the text of the patterns themselves. The links in Alexander's book clearly result in a hierarchic network. Alexander draws a parallel to the hierarchy of a grammar – that is one argument for him to speak of a pattern
language. The idea of linking is generally accepted among pattern authors, though the semantic rationale behind the links may vary. Some authors, however, like Gamma et al. in
Design Patterns, make only little use of pattern linking – possibly because it did not make that much sense for their collection of patterns. In such a case we would speak of a
pattern catalogue rather than a
pattern language.
Usage Alexander encouraged people who used his system to expand his language with patterns of their own. In order to enable this, his books do not focus strictly on architecture or civil engineering; he also explains the general method of pattern languages. The original concept for the book
A Pattern Language was that it would be published in the form of a
ring binder, so that pages could easily be added later; this proved impractical in publishing. The pattern language approach has been used to document expertise in diverse fields. Some examples are
architectural patterns,
computer science patterns,
interaction design patterns,
pedagogical patterns,
pattern gardening, social action patterns, and group facilitation patterns. The pattern language approach has also been recommended as a way to promote
civic intelligence by helping to coordinate actions for diverse people and communities who are working together on significant shared problems. Alexander's specifications for using pattern languages as well as creating new ones remain influential, and his books are referenced for style by experts in unrelated fields. It is important to note that notations such as
UML or the
flowchart symbol collection are not pattern languages. They could more closely be compared to an alphabet: their symbols could be used to document a pattern language, but they are not a language by themselves. A
recipe or other sequential set of steps to be followed, with only one correct path from start to finish, is also not a pattern language. However, the process of designing a new recipe might benefit from the use of a pattern language.
Simple example of a pattern •
Name: ChocolateChipRatio •
Context: You are baking chocolate chip cookies in small batches for family and friends •
Consider these patterns first: SugarRatio, FlourRatio, EggRatio •
Problem: Determine the optimum ratio of chocolate chips to cookie dough •
Solution: Observe that most people consider chocolate to be the best part of the chocolate chip cookie. Also observe that too much chocolate may prevent the cookie from holding together, decreasing its appeal. Since you are cooking in small batches, cost is not a consideration. Therefore, use the maximum amount of chocolate chips that results in a really sturdy cookie. •
Consider next: NutRatio or CookingTime or FreezingMethod ==Origin==