Pattern Language


Pattern Language

Eine Mustersprache (engl. pattern language) ist eine Sammlung von Entwurfsmustern, also bewährten Verfahren zur Lösung typischer Probleme, die bei konstruierenden Tätigkeiten in einem bestimmten Anwendungsgebiet auftreten. Dabei werden im Wesentlichen zwei Ziele verfolgt:

  1. Es wird eine einheitliche Sprache aus Namen für Probleme und deren Lösungen definiert, um die Kommunikation zwischen Entwicklern zu erleichtern.
  2. Unerfahrenen Entwicklern werden Problemlösungen für typische, immer wiederkehrende Entwurfsprobleme geboten. Sie können somit von Erfahrungen anderer profitieren.

Der Begriff wurde ursprünglich vom Architekten Christopher Alexander geprägt. In seinem an Laien gerichteten Buch A Pattern Language. Towns, Buildings, Construction stellte er 1977 die erste Mustersprache vor. Später wurde das Konzept in andere Fachbereiche übernommen, besonders in die objektorientierte Softwareentwicklung und die Mensch-Computer-Interaktion (Human-Computer Interaction, HCI).

Eine sehr einfache Definition des Begriffs der Mustersprache findet sich im Portland Pattern Repository von 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.[1]
„Eine Menge von Mustern wird zur Mustersprache wenn jedes ihrer Muster, sobald es gelöst ist, zu mehr Mustern führt, die anschließend betrachtet werden sollten.“

Inhaltsverzeichnis

Struktur

Die Entwurfsmuster von Alexander folgen einer festen Struktur; sie beginnen mit einem Kontext und enden mit Referenzen auf andere Muster. Im Kontextteil wird auf verwandte Muster verwiesen, die im Planungsprozess zuvor zu betrachten sind; die Referenzen verweisen auf Muster, die später auftreten. Dadurch ergibt sich ein Hypertext, wobei die Verweise typografisch durch Kapitälchen hervorgehoben werden. Dass die Entwurfsmuster als Gesamtheit verstanden werden sollen, wird dadurch gekennzeichnet, dass jedes Muster mit Auslassungspunkten beginnt und endet.

Anhand dieser Querverweise ist es möglich, die Planung in einer Form durchzuführen, die Alexander unfolding (Entfalten) nennt. Dabei behandeln die Muster der höchsten Ebene – also diejenigen, die bei der Planung zuerst betrachtet werden sollen – die Planung von Städten. Weiter unten in der Hierarchie stehende Muster behandeln räumlich kleinere Strukturen, bis hin zu Teilen von einzelnen Räumen. Es handelt sich damit um einen Top-Down-Prozess. Alexander legt Wert darauf, dass die Querverweise ebenso wichtig sind wie die Muster selbst.

Andere Mustersprachen

Die Idee, den Benutzer in den Entwurfsprozess mit einzugliedern, fand auch in anderen Fachbereichen Anklang, besonders im Bereich der Mensch-Computer-Interaktion. Jennifer Tidwell veröffentlichte 2005 das Buch Designing Interfaces, in dem eine Mustersprache aus ca. 100 Entwurfsmustern beschrieben wird. Dabei deckt sie sämtliche Bereiche der Mensch-Computer-Interaktion ab.

Jan Borchers schrieb in A Pattern Language for Interactive Music Exhibits drei Mustersprachen aus den Bereichen Blues-Musik, Mensch-Computer-Interaktion und Softwareentwicklung, um die Kommunikation zwischen diesen drei Fachbereichen zu vereinfachen.

Duyne, Landay und Hong schrieben mit The Design of Sites eine Mustersprache für Websites. Die Mustersprache ist in der Reihenfolge aufgebaut, in der die Probleme im Entwicklungsprozess beim iterativen Entwurf auftauchen.

Die wohl bekannteste Sammlung von Entwurfsmustern, die die sogenannte Viererbande in Design Patterns – Elements of Reusable Object-Oriented Software veröffentlichte, kann insofern nicht als Mustersprache bezeichnet werden, als dass sie mit nur 23 Entwurfsmustern nicht vollständig ist. Sie gab jedoch den Anstoß für die Entwicklung von Mustersprachen in der Softwaretechnologie, wie z. B. für den Entwurf von Softwareentwicklungswerkzeugen und Softwarearchitekturen.

Literatur

  • Christopher Alexander, Sara Ishikawa, Murray Silverstein, Max Jacobson, Ingrid Fiksfahl-King, Shlomo Angel: Eine Muster-Sprache. Städte, Gebäude, Konstruktion. Löcker, Wien 1995, ISBN 3-85409-179-6
  • James O. Coplien, Douglas C. Schmidt (Hrsg.): 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
  • Jennifer Tidwell: Designing Interfaces. O'Reilly Media, 2005, ISBN 0596008031
  • 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 020172149X

Einzelnachweise

  1. Pattern Language. In: Portland Pattern Repository. (online ; Stand: 5. Januar 2006). 

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Pattern language — A pattern language is a structured method of describing good design practices within a field of expertise. It is characterized by Fact|date=June 2008 # Noticing and naming the common problems in a field of interest, # Describing the key… …   Wikipedia

  • Pattern language — Eine Mustersprache (engl. pattern language) ist eine Sammlung von Entwurfsmustern, also bewährten Verfahren zur Lösung typischer Probleme, die bei konstruierenden Tätigkeiten in einem bestimmten Anwendungsgebiet auftreten. Dabei werden im… …   Deutsch Wikipedia

  • pattern language — /ˈpætn læŋgwɪdʒ/ (say patn langgwij) noun the systematic repetition of patterns, as in design, software, etc …   Australian English dictionary

  • Pattern language (disambiguation) — Pattern language may have several meanings:* Pattern language is a structured method of documenting good design practices in architecture, software engineering, and other design disciplines * A Pattern Language, a work by Christopher Alexander,… …   Wikipedia

  • A Pattern Language — A Pattern Language: Towns, Buildings, Construction is a 1977 book on architecture. It was authored by Christopher Alexander, Sara Ishikawa and Murray Silverstein of the Center for Environmental Structure of Berkeley, California, with writing… …   Wikipedia

  • Pattern (architecture) — Pattern in architecture is the idea of capturing architectural design ideas as archetypal and reusable descriptions. The term pattern is usually attributed to Christopher Alexander,[1] an Austrian born American architect. The patterns serve as an …   Wikipedia

  • Pattern Garden — Pattern gardening influenced by the concepts of patterns and pattern language originated by Christopher Alexander reflects the archetypal patterns of garden making, based on proportions and how the senses react. Patterns give coherence to garden… …   Wikipedia

  • Language identification in the limit — is a formal model for inductive inference. It was introduced by E. Mark Gold in his paper with the same title [http://www.isrl.uiuc.edu/ amag/langev/paper/gold67limit.html] . In this model, a learner is provided with presentation of some language …   Wikipedia

  • Pattern — A pattern, from the French patron, is a theme of recurring events or objects, sometimes referred to as elements of a set. These elements repeat in a predictable manner. It can be a template or model which can be used to generate things or parts… …   Wikipedia

  • Pattern (disambiguation) — A pattern is a form, template, or model. Pattern can refer to: * Pattern (devotional), in Irish Catholicism, the devotional practices associated with a patron saint * Pattern theory, in mathematics * Airfield traffic pattern, the traffic flow… …   Wikipedia