Über 15 Jahre nach der Veröffentlichung der ersten Bücher haben Patterns wenig von ihrer Fähigkeit verloren, Wissen klar zu strukturieren und bewährte Lösungen für bekannte Probleme zu dokumentieren.
Auch wenn den meisten Softwareentwicklern beim Thema Entwurfsmuster zuallererst das Design Patterns-Buch von Erich Gamma et al. in den Sinn kommt, wurden im Laufe der Jahre für viele Felder der Softwareentwicklung (und darüber hinaus) Patterns gefunden und veröffentlicht.
Beispielsweise gibt es die POSA-Reihe (Pattern Oriented Software Architecture) von Frank Buschmann & Co., die sich ausgiebig mit verteilten Systemen beschäftigt. Von Martin Fowler und Gregor Hohpe gibt es ausgezeichnete Pattern-Bücher über die Struktur von Informationssystemen im Unternehmensumfeld (Patterns of Enterprise Application Architecture bzw. Enterprise Integration Patterns). Aber auch viele Randthemen sind schon abgedeckt worden, zum Beispiel, wie man technische Systeme dokumentiert (Agile Documentation von Andreas Rüping).
Alle diese Bücher nahmen ihren Anfang auf einer Pattern-Konferenz. Die beiden größten dieser Konferenzen (PLoP in den USA, EuroPLoP in Deutschland) finden einmal pro Jahr statt. Dort treffen sich Pattern-Autoren aus der ganzen Welt, um sich drei Tage lang intensiv über neue Beiträge in der Pattern-Welt auszutauschen. Viele Teilnehmer bringen eigene Werke mit, die in Workshops intensiv diskutiert werden.
Zukünftige Patterns?
Die Themen für neue Patterns werden so schnell nicht ausgehen. Denn mit jeder neuen Technologie und Methodik tauchen neue Probleme auf, für die früher oder später die passenden Lösungen gefunden werden. Um diese Lösungen zu verbreiten, gibt es somit immer Bedarf an Experten, die mit den Neuerungen bereits intensive Erfahrungen gesammelt haben und bereit sind, ihr Wissen in Form von Patterns zu formulieren. Aktuelle Themen, für die es bisher nur wenige Patterns gibt, sind beispielsweise der Umgang mit nicht-relationalen Datenbanken (NoSQL), das Entwickeln in der Cloud und die Erstellung von mobilen Anwendungen.
Aber warum eigentlich Patterns?
Ein Pattern beschreibt im Kern eine bewährte Technik, die ein bekanntes Problem löst. Jenseits der reinen Beschreibung der Lösung in Form eines Kochrezeptes erklärt ein Pattern, warum das Problem eigentlich schwierig ist sowie wann die Lösung funktioniert und wann nicht. Zudem hat praktisch jede Lösung einen Preis. Welche neuen Probleme handelt man sich ein, wenn man die Lösung verwendet, und wie kann man dann weiter vorgehen? Auch diese Fragen beantworten Patterns.
Patterns haben zum Ziel, grundsätzliche Lösungen zu dokumentieren, also von konkret verwendeten Technologien oder Produkten zu abstrahieren. Daher veraltet Pattern-Wissen nur langsam. Zudem geben Patterns zwar nur eine Struktur vor, wie man Wissen dokumentiert. Aber alleine die Beschäftigung mit dieser Struktur führt beim Schreiben eines Patterns schon zu tieferen Einsichten in ein Gebiet, das man schon sehr gut zu kennen glaubte. Denn nur was man aufschreiben kann, hat man wirklich verstanden.
Pattern-Konferenzen
Die nächste EuroPLoP-Patternkonferenz findet vom 11.-15.07.2012 im Kloster Irsee in der Nähe von Kaufbeuren statt. Auch in diesem Jahr werden sich wieder alte Hasen und Neulinge treffen, um sich gemeinsam in Workshops, Focus-Groups und abends an der Bar im Kellergewölbe intensiv mit Patterns zu beschäftigen. Die Konferenz ist offen für alle Neugierige, eine frühzeitige Anmeldung ist jedoch erforderlich. Genauere Informationen finden sich im Internet unter http://europlop. net.
Ich war einmal auf der EuroPlop weil ich neugierig war auch ohne Pattern. Die Grossgruppenspiele, das Klosterbier und der Kicker waren ebenso wie die lockere internationale Atmosphäre, die Workshops und das gute Niveau Teil einer tollen lehrreichen Erfahrung.
Eine Frage, die seit dem aber immer wieder bei mir auftauchte, ist, was von meinen Erfahrungen ist eines Patterns würdig, wie entwickle ich den „Patternblick“ und wie fange ich dann an?
Meiner Erfahrung nach wird der Patternblick nach und nach immer schärfer. Eine gute Faustformel ist: Wenn du eine Lösung, die du gut findest, drei Mal unabhängig voneinander findest, ist sie eines Patterns würdig.
Das ist meiner Meinung nach auch der beste Startpunkt, um ein Pattern zu schreiben. Du kennst eine Lösung, die dich fasziniert und die anscheinend noch nicht als Pattern dokumentiert ist. Indem du von der Lösung ausgehst, versuchst du das Problem besser zu verstehen, das eigentlich gelöst wird. Wie man dazu weiter vorgeht, werde ich demnächst noch genauer beschreiben.
Momentan bin ich noch auf der diesjährigen EuroPLoP, die gerade zu Ende geht: http://freiberufler-team.de/patterns/auf-der-europlop-2012-308.html
Jetzt will ich noch in die Bar, um den guten Kloster Irsee Urtrunk zu genießen und die Konferenz ausklingen zu lassen.