Pattern bieten Musterlösungen für wiederkehrende Probleme. Das Pattern ist ein Begriff aus der IT und Informatik und bezeichnet Entwurfsmuster, also Strukturen, Modelle, Schablonen und Muster die sich bei der Entwicklung stabiler Software als Modell nutzen lassen. 

Was ist ein Pattern?

Ein Pattern ist ein formale Dokumentation in Form zur modellhaften Lösung eines bestimmten Problems. Dazu werden Entwurfsmuster nicht etwa erfunden, sondern leiten sich aus der wiederholten Anwendung aus erfolgreicher Praxis ab. Patternmodelle finden ebenso in der Softwarearchitektur wie in der Enterprise Architecture Management praktische Verwendung.

Architekturpattern als Grundlage für modernes Softwaredesign

Ursprünglich stammen Pattern aus dem Ingenieurbereich der Architektur und wurden erstmalig vom US-amerikanischen Architekten und Architekturtheoretiker Christopher Alexander geprägt. Auch wenn Alexanders Patternmodelle sich auf die Bauarchitektur und die Städteplanung beziehen lassen sich grundlegende Prinzipien und Erkenntnisse auf Disziplinen wie Softwarearchitekturen und Softwareentwicklung übertragen.

Welche unterschiedlichen Pattern-Modelle gibt es?

Insbesondere für wiederholende Probleme und Aufgaben sowie zur Weiterentwicklung von Software sind Pattern optimal geeignet. Pattern bieten handfeste Vorteile für die Organisation und Beschleunigung bei der Programmierung im Team und unterstützen somit gezielt die agile Entwicklung von Software.

1) Analyse-Pattern

Analyse Pattern dienen als Blueprint zur Identifikation und Visualisierung von Abhängigkeiten um gezielt Optimierungspotential und Handlungsbedarf in IT Landschaften zu ermitteln.

2) Design-Pattern

Design Pattern bieten zielorientierte und allgemeingültige Muster für ein Zielbild der zu entwickelnden Soll-Architektur einer Softwarelösung oder einer komplexen IT-Landschaft.

3) Planungs-Pattern / Conceptual Pattern / Architektur-Pattern

Planungs Pattern, Conceptual Pattern oder Architektur Pattern bieten Muster um die Lücken zwischen dem Ist- und dem Soll-Zustand der gewünschten Designarchitektur zu ermitteln und Planungsszenarien zu definieren um diese Lücken zu schließen.

4) Coding Pattern / Programming Pattern

Coding Pattern oder Programming Pattern bieten Softwareentwicklern in der Praxis bewährte Methoden für die Programmierung.

Wie Entwurfsmuster entstehen und formuliert werden

Pattern und Entwurfsmuster werden nicht erfunden, sondern leiten sich aus der wiederholten Anwendung aus erfolgreicher Praxis ab.

Goldene Regeln für den Entwurf von Pattern:

  1. Erfinde keine Pattern, sondern…
  2. Lass Pattern aus guter Beobachtung und Analyse heraus entstehen, erkenne und adaptiere erfolgreiche Muster.
  3. Gestalte das Pattern einfach und klar.
  4. Behalte die Patternstruktur bei.
  5. Veröffentliche das Pattern und mach das Wissen über dein Entwurfsmuster für jeden zugänglich.

Pattern: Lösungen für wiederkehrende Probleme

Insbesondere für wiederholende Probleme sind Pattern für ein idealtypisches Vorgehen optimal geeignet. Dabei bieten Pattern für die Softwareentwicklung folgende Vorteile:

  • Konzeptionelle Integrität
  • Konsistenz
  • Einheitlichkeit (Uniformity)
  • Einfachheit (Simplicity)

4 Prinzipien für den Patternentwurf

  1. Entwickle nützliche Kompositionen und Strukturen
  2. Dokumentiere und verbreitete strukturiert etabliertes Wissen 
  3. Bündle Strategien und Methoden in Packages
  4. Verwende Wissen + Code erneut 

Beim Entwurf von Pattern als Entwurfsmuster ist zu berücksichtigen wie sich das entworfene Modell über die Zeit und über unterschiedliche Domänen nutzen lässt.

Gezielt Repositories zur Entwicklung von Pattern nutzen!

Pattern lassen sich ideal weiterentwickeln und pflegen wenn die Entwicklung unter den beteiligten Sotfwareentwicklern über ein Repository wie beispielsweise GitHub organisiert ist.

Jetzt lesen: Warum Softwarearchitektur unverzichtbar für erfolgreiche Projekte und die Entwicklung guter Software ist! 

Ähnliche Eintraege