Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier. Ein Entwurfsmuster (englisch: design pattern ) beschreibt eine in der Praxis erfolgreiche für ein mehr oder weniger häufig auftretendes und stellt damit eine wiederverwendbare Vorlage zur dar. Entstanden ist der Ausdruck in der von wo er für die Softwareentwicklung übernommen wurde.
Der Architekt Christopher Alexander hatte in den 1970-er Jahren eine Sammlung von Entwurfsmustern zusammengestellt. hat sich diese Idee jedoch bei weitem so verbreitet wie später in der Softwareentwicklung.
Erich Gamma Mitte der neunziger Jahre Wissenschaftler an der Hochschule in Zürich promovierte über die Übertragung dieser Methode auf die Softwareentwicklung. Im Anschluss ging nach Amerika wo er zuammen mit Richard Helm Johnson und John Vlissides das Buch "Design Patterns - Elements of Reusable Design" herausbrachte. Dieses Autorenquartett hat sich den "Gang of Four" ( Viererbande ) eingehandelt. GoF wird gelegentlich auch als für besagtes Buch verwandt.
Die Beschreibung eines Entwurfsmusters folgt gewissen
Beschreibung eines konkreten Problems
Beschreibung einer konkreten Lösung
Verallgemeinerung der Lösung
Diskussion über Vor- und Nachteile des
Code-Beispiele
Verwandte Entwurfsmuster
Der primäre Nutzen eines Entwurfsmusters liegt der Beschreibung einer Lösung für eine bestimmte von Problemen. Weiterer Nutzen ergibt sich aus Tatsache dass jedes Muster einen Namen hat. Dies vereinfacht die Diskussion unter Softwareentwicklern da man abstrahiert über eine Softwarestruktur kann. So sind Entwurfsmuster zunächst einmal sprachunabhängig.
Wenn der Einsatz von Entwurfsmustern dokumentiert ergibt sich ein weiterer Nutzen dadurch dass die Beschreibung des Musters ein Bezug zur vorhandenen Diskussion des Problemkontextes und der Vor- Nachteile der Lösung hergestellt wird.
Moderne (insbesondere von Grund auf Objektorientierung Hochsprachen unterstützen jedoch einige der gängigen Entwurfsmuster mit bestimmten Sprachmitteln so dass man sich der Praxis vor allem bei der Nutzung Sprachen im Prozess der objektorientierten Analyse ( OOA ) und des objektorientierten Designs (OOD) der bedient die dort u.U. noch immer implementierungsneutral der Unified Modelling Language ( UML ) angewendet werden.
Erich Gamma Richard Helm Ralph Johnson John Entwurfsmuster - Elemente wiederverwendbarer objektorientierter Software Addison Wesley ISBN 3-89319-950-0
Christopher Alexander Sara Ishikawa Murray Silverstein Max Ingrid Fiksfahl-King Shlomo Angel: Eine Muster-Sprache: Städte Gebäude Konstruktion Löcker ISBN 3-85409-179-6
Frank Buschmann Regine Meunier Hans Rohnert Peter Michael Stal: Pattern-orientierte Softwarearchitektur ein Pattern-System Addison Wesley 1998 ISBN 3-8273-1282-5
Douglas Schmidt Michael Stal Hans Rohnert Frank Pattern-orientierte Softwarearchitektur Muster für nebenläufige und vernetzte dpunkt 2002 ISBN 3-89864-142-2