Pattern language

from Wikipedia, the free encyclopedia

A pattern language ( English pattern language ) is a collection of design patterns , that is good practice to solve typical problems that occur in design activities in a given area of application. There are two main objectives:

  1. A uniform language of names for problems and their solutions is defined in order to facilitate communication between developers.
  2. Inexperienced developers are offered solutions to typical, recurring design problems. You can thus benefit from the experiences of others.

The term was originally coined by the architect Christopher Alexander . In his layperson book, A Pattern Language. Towns, Buildings, Construction , he introduced the first pattern language in 1977. The concept has been adopted in other departments, first in the object-oriented software development and human-computer interaction ( Human-Computer Interaction , HCI ), later in the organizational development and education .

A very simple definition of the concept of pattern language is found in the Portland Pattern Repository of Ward Cunningham :

"A set of patterns becomes a pattern language when each of its patterns, once solved, leads to more patterns that should then be considered."

"A lot of patterns become pattern language when each of their patterns, once solved, leads to more patterns that should be looked at afterwards."

The structure of pattern descriptions

The description of a design pattern in the style of Alexander follows a fixed structure: the heading - the name of the pattern - is followed by the context as well as the description of the problem and the generic problem solution; the description ends with references to other samples. In the context part, reference is made to related patterns that must be considered beforehand in the planning process; the references point to patterns that appear later. This results in a hypertext , with the references, i.e. the names of the patterns, usually typographically highlighted by small caps .

With the help of these cross-references , it is possible to carry out the planning in a form that Alexander calls unfolding. The top-level patterns - those that should be considered first in planning - deal with planning cities. Patterns further down in the hierarchy deal with spatially smaller structures up to parts of individual rooms. It is therefore a top-down process . It is important to Alexander that the cross-references are just as important as the samples themselves.

The development of sample languages

Sample languages ​​are created partly as books by authors or groups of authors, partly as publications at specialist conferences. Recently, sample languages ​​have also emerged as the result of diploma theses, master theses and dissertations.

The aim of the publication of sample languages ​​is to impart knowledge based on experience in order to build up competence in the design of complex systems.

The non-profit organization 'The Hillside Group' has made a particular contribution, organizing specialist conferences since 1993: In the USA since 1994 the PLoP conferences ('Pattern Languages ​​of Programming'); in Europe since 1996 EuroPLoP with the permanent conference location Kloster Irsee in Bavaria. Thematically, these conferences were initially focused on software; But this was followed by an increasing opening to neighboring areas such as management, organizational development and education.

The PUARL conference has been held every two years in Portland since 2009, and is dedicated to patterns in the field of urban planning and urbanism .

In 2015 the PURPLSOC conference will take place for the first time. It is open to sample languages ​​from all fields of application and supports the interdisciplinary exchange of experience regarding the writing and use of sample languages.

There are some scriptures that deal with how to work out and write patterns and sample languages. Most of them are available online and will be offered and updated as part of the conferences. The facilities of so-called writer's workshops and shepherding offer special support . Writer's workshops are modeled on the writing workshops in the field of fictional writing and give beginning authors collegial feedback. In Shepherding , the author of a sample language is assigned a Shepherd (literally translated as "shepherd") as a kind of mentor, who helps the author to improve the quality of the text in several feedback cycles.

Other sample languages

The idea of ​​integrating the user into the design process also met with approval in other specialist areas, especially in the area of ​​human-computer interaction.

In 2001, Jan Borchers wrote three sample languages ​​from the areas of blues music, human-computer interaction and software development in A Pattern Language for Interactive Music Exhibits in order to simplify communication between these three departments.

In 2002, Duyne, Landay and Hong wrote The Design of Sites, a template language for websites . The pattern language is built in the order in which the problems arise in the development process in iterative design .

In 2005 Mary Lynn Manns and Linda Rising published the book Fearless Change with 48 patterns that have proven themselves in companies for innovation processes and corporate development.

Jenifer Tidwell published the book Designing Interfaces in 2005 , which describes a pattern language made up of around 100 design patterns. It covers all areas of human-computer interaction.

Douglas Schuler published the book Liberating Voices in 2008 , in which he describes a pattern language made up of 135 patterns that are supposed to help bridge the digital divide .

Probably the best-known collection of design patterns , published by the so-called Gang of Four in Design Patterns - Elements of Reusable Object-Oriented Software , cannot be called pattern language inasmuch as it is not complete with only 23 design patterns . However, it gave the impetus for the development of sample languages ​​in software technology , such as B. for the design of software development tools and software architectures .

Individual evidence

  1. ^ Pattern Language . In: Portland Pattern Repository . ( online [accessed January 5, 2006]).

literature

  • Christopher Alexander, Sara Ishikawa, Murray Silverstein, 'A Collection of Patterns which Generate Multi-Service Centers' in Declan and Margrit Kennedy (eds.): The Inner City. Architects Year Book 14, Elek, London, 1974
  • Christopher Alexander, Sara Ishikawa, Murray Silverstein, Max Jacobson, Ingrid Fiksfahl-King, Shlomo Angel: A Model Language. Cities, buildings, construction. Löcker, Vienna 1995, ISBN 3-85409-179-6
  • Christopher Alexander, Sara Ishikawa, Murray Silverstein: A Model Language. Cities - Buildings - Construction. 2nd updated edition. Löcker, Vienna 2010, ISBN 978-3-85409-568-2
  • James O. Coplien, Douglas C. Schmidt (Eds.): Pattern Languages ​​of Program Design . Addison-Wesley, 1995, ISBN 0-201-60734-4 .
  • Jan Borchers: A Pattern Approach to Interaction Design. John Wiley & Sons, Chichester 2001, ISBN 0-471-49828-9
  • Jenifer Tidwell: Designing Interfaces. O'Reilly Media, 2005, ISBN 0-596-00803-1
  • Douglas K. van Duyne, James A. Landay, Jason I. Hong: The Design of Sites: Patterns, Principles, and Processes for Crafting a Customer-Centered Web Experience. Addison-Wesley Professional, 2002, ISBN 0-201-72149-X
  • Linda Rising and Mary Lynn Manns: Fearless Change: Patterns for Introducing New Ideas. , Addison-Wesley, 2005.
  • Helmut Leitner: Pattern theory - introduction and perspectives in the footsteps of Christopher Alexander , Verlag Nausner & Nausner, Graz 2007, ISBN 3-901402-50-0
  • Douglas Schuler: Liberating Voices: A Pattern Language for Communication Revolution , 2008, ISBN 0-262-69366-6
  • Joseph Bergin: Pedagogical Patterns: Advice for Educators , 2011, ISBN 1479171824
  • Andreas Fießer: Patterns in television production: A new perspective on the production of German television films , 2012, ISBN 3639410610
  • Reinhard Bauer & PeterBaumgartner: Showcase of Learning: A Collection of Patterns for Working with E-Portfolios , 2012, ISBN 383092643X
  • Mary Lynn Manns & Linda Rising: More Fearless Change: Strategies for Making Your Ideas Happen , Pearson Education, 2015, ISBN 0133966445
  • Thomas Schlechte: A Pattern Language for Composing Music , 2019, ISBN 1792938047

Web links