Designmuster

A Designmuster ist die wiederverwendbare Form einer Lösung für ein Designproblem. Die Idee wurde vom Architekten eingeführt Christopher Alexander[1] und wurde insbesondere für verschiedene andere Disziplinen angepasst Softwareentwicklung.[2]

Einzelheiten

Eine organisierte Sammlung von Entwurfsmustern, die sich auf ein bestimmtes Gebiet beziehen Mustersprache. Diese Sprache gibt eine gemeinsame Terminologie für die Erörterung der Situationen, mit denen Designer konfrontiert sind.

Die Elemente dieser Sprache sind Entitäten, die als Muster bezeichnet werden. Jedes Muster beschreibt ein Problem, das in unserer Umgebung immer wieder auftritt, und beschreibt dann den Kern der Lösung für dieses Problem so, dass Sie diese Lösung millionenfach verwenden können, ohne es jemals zweimal auf die gleiche Weise zu tun .

-Christopher Alexander, Eine Mustersprache[1]

Um ein Muster zu dokumentieren, muss erklärt werden, warum eine bestimmte Situation Probleme verursacht und wie sich die Komponenten des Musters miteinander beziehen, um die Lösung zu geben.[3] Christopher Alexander Beschreibt gemeinsame Designprobleme als "widersprüchliche Kräfte" - wie der Konflikt zwischen dem Sunny und dem Suchern nachmittags, dass ein Raum sonnig ist und es nicht zu überhitzen möchte. Ein Muster würde dem Designer nicht mitteilen, wie viele Fenster in den Raum gelegt werden sollen. Stattdessen würde es eine Reihe von Werten vorschlagen, um den Designer zu einer Entscheidung zu führen, die für ihre jeweilige Anwendung am besten geeignet ist. Alexander schlägt zum Beispiel vor, dass genügend Fenster einbezogen werden sollten, um Licht im ganzen Raum zu leiten. Er betrachtet dies als eine gute Lösung, weil er glaubt, dass es den Genuss des Raumes durch seine Bewohner erhöht. Andere Autoren könnten zu unterschiedlichen Schlussfolgerungen kommen, wenn sie höhere Wert für Heizkosten oder Materialkosten erzielen. Diese Werte, die vom Autor des Musters verwendet werden, um zu bestimmen, welche Lösung "am besten" ist, müssen ebenfalls im Muster dokumentiert werden.

Die Musterdokumentation sollte auch erklären, wann sie anwendbar ist. Da sich zwei Häuser möglicherweise sehr voneinander unterscheiden, muss ein Entwurfsmuster für Häuser breit genug sein, um sich auf beide zu bewerben, aber nicht so vage, dass es dem Designer nicht hilft, Entscheidungen zu treffen. Der Bereich der Situationen, in denen ein Muster verwendet werden kann, wird als Kontext bezeichnet. Einige Beispiele könnten "alle Häuser", "alle zweistöckigen Häuser" oder "alle Orte, an denen Menschen Zeit verbringen" sein.

Zum Beispiel liegen in Christopher Alexanders Arbeit Bushaltestellen und Wartezimmer in einem Chirurgie -Zentrum im Kontext, um das Muster "Ein Ort zum Warten" zu erhalten.

Beispiele

Geschäftsmodelle haben auch Designmuster.[4] Sehen Geschäftsmodell § Beispiele.

Siehe auch

Verweise

  1. ^ a b Alexander, Christopher (1977). Eine Mustersprache: Städte, Gebäude, Bauarbeiten. Zentrum für Umweltstrukturreihen. Vol. 2. New York: Oxford University Press. ISBN 0-19-501919-9. OCLC 3132495.
  2. ^ Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John (1994). Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software. Addison-Wesley Professional Computing-Serie. Lesen, Mass .: Addison-Wesley. ISBN 0-201-63361-2. OCLC 31171684. Das "Gruppe von vier" Buchen.
  3. ^ Maioriello, James (2002-10-02). "Was sind Designmuster und brauche ich sie?". Entwickler.com. Abgerufen 2011-03-21.
  4. ^ Zum Beispiel: Mettler, Tobias; Eurich, Markus (Juni 2012). "Ein von Design-Pattern'-basiertes Ansatz zur Analyse von E-Health-Geschäftsmodellen". Gesundheitspolitik und Technologie. 1 (2): 77–85. doi:10.1016/j.hlpt.2012.04.005.

Weitere Lektüre

  • Erl, Thomas (2009). SOA -Designmuster. Prentice Hall Service-orientierte Computerreihe von Thomas Erl. Upper Saddle River, NJ: Prentice Hall. ISBN 978-0-13-613516-6. OCLC 156832597.
  • Leitner, Helmut (2015). Mustertheorie: Einführung und Perspektiven auf den Spuren von Christopher Alexander. Musterforschungsreihe. Vol. 1. Graz: Helmut Leitner, HLS -Software. ISBN 978-1-5056-3743-4. OCLC 913795677.
  • Pree, Wolfgang (1995). Entwurfsmuster für objektorientierte Softwareentwicklung. ACM Press Books. Wokingham, England; Lesen, Mass .: Addison-Wesley. ISBN 0201422948. OCLC 31291883.
  • Schmidt, Douglas C.; Buschmann, Frank; Henney, Kevlin (2007). Musterorientierte Softwarearchitektur: Über Muster und Mustersprachen. Wiley -Serie in Software -Design -Mustern. Vol. 5. Chichester, Großbritannien; New York: Wiley. ISBN 9780471486480. OCLC 62532759.
  • Tidwell, Jenifer; Brauer Charles; Valencia, Aynne (2020) [2005]. Entwerfen von Schnittstellen: Muster für ein effektives Interaktionsdesign (3. Aufl.). Sebastopol, CA: O'Reilly. ISBN 9781492051961. OCLC 1138701080. Präsentiert Lösungen für häufig vorkommende UI -Designprobleme als Sammlung von Mustern - EVEN mit konkreten Beispielen, Empfehlungen und Warnungen.