Read more
"In der Welt der Software ist ein Muster ein anschaulicher Ausdruck für den kollektiven Erfahrungsschatz einer Organisation. Jedes Muster bietet eine allgemeine Lösung für ein allgemeines Problem. Indem man ein Muster benennt und anschließend spezifiziert, repräsentiert dieses Muster im Rahmen der Gepflogenheiten einer spezifischen Organisation oder innerhalb eines Fachgebiets den Prototyp einer allgemeinen Lösung, die sich in der Praxis schon mehrfach bewährt hat. Ein umfangreicher Musterkatalog ist vergleichbar mit einem Team von Experten, die Ihnen während der Softwareentwicklung mit Rat und Tat zur Seite stehen: indem Sie eines ihrer Muster anwenden, sind Sie praktisch der Nutznießer ihrer hart erarbeiteten Erfahrungen. Die besten Muster werden in diesem Sinne nicht systematisch erzeugt, sondern vielmehr entdeckt und dann aus vorhandenen, erfolgreichen Systemen gewonnen. Ein ausgereiftes Muster enthält ausschließlich perfekt funktionierende Komponenten, weist keinerlei Schwachstellen auf und repräsentiert den Erfahrungsschatz und die Grundprinzipien seiner Designer. Die gängigsten Muster sind normalerweise schon relativ alt: wenn Sie ein solches Muster erkennen, werden Sie oftmals feststellen: »Irgendwann habe ich das schon mal so gemacht.« Die definitive Benennung des Musters liefert Ihnen ein Vokabular, das Ihnen bisher gefehlt hat, und hilft Ihnen somit, dieses Muster auf Situationen anzuwenden, bei denen Sie vorher nie daran gedacht hätten. Letztendlich vereinfacht ein solches Muster Ihr System. Muster helfen Ihnen nicht nur, einfachere funktionsfähige Systeme, sondern auch ästhetische Programme zu erstellen. In unserer hektischen Zeit ist es praktisch ein unbezahlbarer Luxus geworden, »schöne« Software zu schreiben. Nichtsdestotrotz strebt jeder Profi danach, Qualität zu liefern. Mit einem ausgewählten Satz von Mustern ist es sogar möglich, die eigenen Programme mit einem gewissen Grad von Eleganz zu versehen, die sonst wahrscheinlich auf der Strecke geblieben wäre."