Designmuster gewannen in der Informatik an Popularität, nachdem das Buch Design Patterns: Elements of Reusable Object-Oriented Software 1994 von der sogenannten “Gang of Four” (Gamma et al.) veröffentlicht wurde, die häufig als “GoF” abgekürzt wird. Im selben Jahr fand die erste Pattern Languages of Programming Conference statt, und im darauffolgenden Jahr wurde das Portland Pattern Repository zur Dokumentation von Designmustern eingerichtet. Der Anwendungsbereich des Begriffs ist nach wie vor umstritten. Bemerkenswerte Bücher im Designmuster-Genre sind: Das Konzept der Designmuster wurde von einigen im Bereich der Informatik kritisiert. Dadurch können inkompatible Klassen zusammenarbeiten, indem die Schnittstelle einer Klasse in eine andere konvertiert wird. Stellen Sie sich das als eine Art Übersetzer vor: Wenn sich zwei Staatsoberhäupter treffen, die keine gemeinsame Sprache sprechen, sitzt in der Regel ein Dolmetscher zwischen den beiden und übersetzt das Gespräch, was Kommunikation ermöglicht. Frage 1: Kürzlich kam ein neuer Schulleiter zu Ihrer Schule. Ihre Freunde bitten Sie, ihn zu beschreiben. Schreiben Sie eine Beschreibung Ihres neuen Prinzipals. Die Dokumentation für ein Entwurfsmuster beschreibt den Kontext, in dem das Muster verwendet wird, die Kräfte innerhalb des Kontexts, den das Muster zu lösen sucht, und die vorgeschlagene Lösung.

[24] Es gibt kein einheitliches Standardformat für die Dokumentation von Entwurfsmustern. Vielmehr wurden eine Vielzahl von verschiedenen Formaten von verschiedenen Musterautoren verwendet. Laut Martin Fowler sind bestimmte Musterformen jedoch bekannter geworden als andere und werden daher zu gemeinsamen Ausgangspunkten für neue Muster-Schreibbemühungen. [25] Ein Beispiel für ein häufig verwendetes Dokumentationsformat ist das von Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides in ihrem Buch Design Patterns. Es enthält die folgenden Abschnitte: Davon abgesehen, ist eine wichtige Einschränkung, sicherzustellen, dass das Wie und warum hinter jedem Muster wird auch vom Entwickler verstanden. Das Erstellen eines Objekts erfordert häufig komplexe Prozesse, die nicht geeignet sind, in ein kompositorierendes Objekt einzuschließen. Die Erstellung des Objekts kann zu einer erheblichen Vervielfältigung des Codes führen, möglicherweise Informationen erfordern, auf die das komponierende Objekt nicht zugreifen kann, kann ein ausreichendes Maß an Abstraktion bieten oder auf andere Weise nicht Teil der Bedenken des komponierenden Objekts sein. Das Factorymethodenentwurfsmuster behandelt diese Probleme, indem es eine separate Methode zum Erstellen der Objekte definiert, die Unterklassen dann überschreiben können, um den abgeleiteten Produkttyp anzugeben, der erstellt wird.