Design Pattern=

Design Pattern sind bekannte Software architektonische Lösungsansätze für wiederkehrende Probleme. Design Pattern sind Programmiersprachen übergreifend.

In der deutschen Sprache werden Design Pattern auch Entwurfsmuster genannt.

Im Bereich der Entwurfsmuster unterscheidet man zwischen verschiedenen Typen.

Erzeugungsmuster (creational pattern)

In einem Erzeugungsmuster wird die Erzeugung eines Objektes definiert. Hierbei wird die Erzeugung von der Implementation abstrahiert. Dies bedeutet, dass man das Erzeugungsmuster des Objektes austauschen kann, ohne die Implementierung des Objektes anpassen zu müssen.

Strukturmuster (structural pattern)

Strukturmuster erleichtern das Software-Design mit vorgefertigten Vorlagen für Klassenbeziehungen. Bei diesem Pattern werden die Beziehungen zwischen den verschiedenen Entitäten definiert und hergestellt.

Verhaltensmuster (behavioral pattern)

Bei dem Verhaltensmuster wird das komplexe Verhalten einer Software in ein Muster gefasst. Durch ein Verhaltensmuster erreicht man eine höhere Flexibilität einer Software. Verhaltensmuster sind dabei nicht auf Objektorientierte Programmiersprachen beschränkt. Auch in dynamischen und funktionalen Programmiersprachen ist die Verwendung von Verhaltensmuster beliebt.

Neben diesen drei Entwurfsmustertypen kamen mit der Zeit noch weitere hinzu. Die Objekrelationalen Abbildung ist eines dieser neueren Muster. Bei diesem Muster geht es um die Darstellung der Beziehungen, dem Zugriff sowie die Ablage von Objekten in einer Relationalen Datenbank.

Anforderung

Ein gutes Entwurfsmuster sollte gewisse Kriterien erfüllen, um sich in der Praxis (und somit in der grossen, weiten Welt) durchzusetzen.

Die Lösung von mindestens einem, wenn nicht sogar mehreren Problemen ist dabei essentiell. Diese Probleme sind meistens Programmiersprachenunabhängig. Auch sollte die Lösung ein erprobtes Konzept bieten, was bedeutet, dass diese Lösung sich als wirkliche Lösung erwiesen hat und nicht noch weitere Probleme erschafft. Dies bedingt auch, dass ein Entwurfsmuster über das Offensichtliche hinausgeht (ein bekannter Spruch dazu ist “Think outside of the box”).

Zusätzlich zu den bereits genannten Anforderungen gibt es noch viele weitere, welche auf der Wikipediaseite aufgeführt sind.

Anti-Pattern

Da viele Entwurfsmuster früher nicht bestens erklärt wurden und somit auch falsch verwendet wurden, entwickelten sich manche davon zu sogenannten “Anti-Pattern”. Dies sind Entwurfsmuster, welche man heutzutage nicht mehr verwenden sollte, da diese verpönt sind. Ein Beispiel für ein “Anti-Pattern” ist das Singleton. Da dieser Pattern als Lösung für ziemlich jedes Problem betrachtet wurde, führte die Verwendung dieses Patterns zu Fehlern (Bugs). Heute sollte man dieses Entwurfsmuster nicht mehr verwenden. Jedoch kommt es in ähnlicher Form immer noch im Containerpattern vor.

Entwurfsmuster

Eine ausführliche Darstellung aller bekannten Entwurfsmuster findet sich auf Wikipedia.