20 Jahre Architekturmuster
Im Jahre 1995 erschien das legendäre Buch "Design Patterns - Elements of Reusable Object-Oriented Design". Ein Jahr später folgte "Pattern-Oriented Software Architecture (POSA) - A System of Patterns", das Architekturmuster und Pattern-Systeme einführte. Grund genug für eine Retrospektive.
- Dr. Michael Stal
Im Jahre 1995 erschien das legendäre Buch "Design Patterns - Elements of Reusable Object-Oriented Design". Ein Jahr später folgte "Pattern-Oriented Software Architecture (POSA) - A System of Patterns", das Architekturmuster und Pattern-Systeme einführte. Grund genug für eine Retrospektive.
Am Anfang war das Wort
Als wir Anfang der neunziger Jahre parallel zur Gang of Four an unserem POSA-Buch arbeiteten, schwor ich mir, nie wieder ein Fachbuch zu veröffentlichen. Das Problem an Patterns ist ihre vermeintliche Zeitlosigkeit. Daher muss jedes Pattern von Experten aus der weltweiten Community gegengelesen werden, bevor es als feste Größe in einem Pattern-System landet. Wer schon einmal eine Pattern-Beschreibung umschreiben musste, weiß, wovon ich spreche. Und wir reden hier von gefühlten zwei Dutzend Umschreibeaktionen. In unserem Fall waren die Patterns keine einsamen Inseln, sondern auch noch von weiteren Patterns abhängig, was das Problem potenziert. Die Änderungsspirale schien einfach kein Ende zu nehmen. Merke: Patterns beschreiben kann einen zum Wahnsinn treiben.
Parallel dazu haben wir uns damals mit dem Gang of Four synchronisiert, um fĂĽr eine leere Schnittmenge der beiden BĂĽcher zu sorgen. Das war aber der eher angenehme Part.
Pattern finden ist nicht schwer
Pattern zu finden, ist übrigens nicht das Problem. Zum Beispiel hatte ich mich damals bei Siemens auf Kommunikationsmiddleware fokussiert. In den verbreiteten Middlewaretechnologien tauchten immer wieder dieselben - weil bewährten - Lösungen auf. Weit schwieriger ist es, aus den Anwendungen das eigentliche Pattern zu extrahieren. Und jetzt komme mir keiner mit der Weisheit, dass das Pattern sich schon auf dem leeren Blatt befände und man es von dort nur noch befreien müsste.
Patterns als Hype
Nachdem das Buch von Erich, Richard, Ralph und John einen raketengleichen Senkrechtstart hingelegt hatte, wuchsen in der Softwareengineering-Community die Erwartungen ins Unendliche. Ich selbst war mir recht sicher, dass in Bälde alle Problemdomänen komplett mit Pattern abgedeckt sein würden. Dass es also in Zukunft fast kein größeres Problem mehr geben würde, für dessen Lösung kein passendes Pattern existiert.
In Managementkreisen herrschte -wieder einmal (!) die Hoffnung, dass sich Software in Zukunft selbst schreiben wĂĽrde, was sich beim Hype um komponentenorientierte Entwicklung wiederholen sollte. Leute, lest bitte endlich das Buch "The Mythical Man Month" von Frederick Brooks!
Status Quo
Wie wir wissen, haben sich die – zugegeben übertriebenen – Erwartungen nicht ganz erfüllt. Das Buch der Gang of Four ist immer noch das Maß aller Dinge. Über die Verkaufszahlen des ersten POSA-Buchs und seiner Nachfolgebände können wir wahrlich auch nicht meckern. Allerdings ist von neuen Büchern mit neuen Patterns nicht viel zu sehen.
Gibt es also keine neuen Muster mehr? Doch, aber die in der Literatur beschriebenen, allgemeinen Patterns scheinen im Wesentlichen die in der Praxis auftretenden Probleme abzudecken. Das lässt sich übrigens auch verifizieren, wenn man verbreiteten Frameworks, SDKs und Bibliotheken einmal nach Patterns durchsucht. Einige Patterns sind sogar in Verruf geraten – ich denke insbesondere an das des Singleton. Andere wie Abstract Factory würden heute ein wenig anders aussehen: Warum zum Beispiel gibt es bei Abstract Factory zwar ein create() aber kein delete()?
Neuere Muster adressieren insbesondere speziellere Domänen. Zudem fristen viele Pattern-Bücher ein unverdientes Schattendasein. Ich denke da zum Beispiel an Charles Weir und James Noble und an ihr Buch über "Small Memory Software".
Happy End
Das Positive an Patterns ist schlicht die "Awareness" moderner Softwareentwickler, die Patterns quasi mit der Muttermilch ihrer Alma Mater aufgesogen haben. Patterns sind heute (in fließendem Denglisch formuliert) kein Hype, sondern eine Commodity. Und das ist der eigentliche Erfolg der Pattern-Bewegung. Insofern haben sich die durchgearbeiteten Nächte und aufreibenden Reviews vor zwei Jahrzehnten mehr als gelohnt.
Schade, dass John Vlissides das nicht mehr erleben darf, der dazu einen ganz gewaltigen Beitrag geleistet hat, und jetzt wahrscheinlich im Himmel ein Dessertbüffet nach dem anderen abräumt. John, ich grüße Dich, wo Du auch immer sein magst. ()