# 8.1 Unterschiedliche Arten von Pattern

Die Entwicklung von Software ist üblicherweise ein Prozess, an dem viele Programmierer:innen beteiligt sind. Um am Ende eine funktionierende, wartbare und erweiterbare Software zu erhalten, sind Konventionen und Absprachen notwendig. Die Software muss einer eindeutigen Software-Architektur folgen, sowie auch das Erstellen eines Gebäudes einer eindeutigen Gebäude-Architektur folgt.

Es gibt Software-Strukturen, die sich bewährt haben und welche die Umsetzung, sowie die Wartung vereinfachen. Um dies zu erreichen, müssen alle am Softwareprojekt Beteiligten ein gemeinsames Verständnis des zu erstellenden Codes bekommen. Hier setzen die Pattern (= Entwurfsmuster) an, da durch eindeutige Namen der Entwurfsmuster die Beteiligten wissen, was zu tun ist.

Anmerkung

Sie kennen bereits "Getter" und "Setter". Auch dies sind eindeutige Namen und eigentlich auch schon Pattern. Und sicherlich werden Sie zustimmen, dass man durch die Wörter "Getter" und "Setter" sehr leicht kommunizieren kann, was programmiert werden soll.

Wir teilen die Pattern (= Entwurfsmuster) nun in drei Untergruppen ein: "Erzeugungsmuster", "Strukturmuster" und "Verhaltensmuster".

Erzeugungsmuster
Die Erzeugungsmuster kapseln die Erzeugung von Objekten. Objekte werden oft dynamisch so erzeugt, wie man diese gerade benötigt. Die Erzeugung von umfangreichen Objekten kann recht komplex werden (z.B. bei einem umfangreichen Datenbankobjekt). Daher ist es gut, wenn man diese Komplexität der Objekterzeugung "verstecken" (= kapseln) kann. Man sagt: "Mit Erzeugungsmustern kann die Objekterzeugung hinter einer definierten Schnittstelle ausgelagert werden. Dieses hilft, die Komplexität und den Kontext, die für das Erzeugen notwendig sind, unabhängig von dem nutzenden Code zu machen."

Strukturmuster
Die Strukturmuster beschreiben die Organisation von und Beziehungen zwischen Objekten.

Verhaltensmuster
Die Verhaltensmuster modellieren das Verhalten von Objekten und erlauben eine flexiblere Handhabung der Objekte.

Anmerkung

Nun kommen die Beispiele für die Pattern und bei jedem Pattern sollten Sie sich fragen, warum dies ein "Erzeugungsmuster", "Strukturmuster" oder "Verhaltensmuster" ist.