Patterns
Markus Völter hielt einen Vortrag über die Verwendung von Pattern in der Software-Entwicklung heutzutage. Dabei war die erste wesentliche Aussage, dass Patterns selber kein Hype mehr sind. Bücher nutzen Patterns zur Darstellung, aber sie nennen den Begriff Patterns nicht mehr im Titel. Außerdem gibt es fachliche Patterns, die für bestimmte Domänen interessant sind. Dadurch sind sie eben nicht mehr generell relevant und sie werden zum Teil auch gar nicht veröffentlich, weil sie eben Spezialwissen der Firmen enthalten, die ein Teil des Wettbewerbsvorteils der Firma sind.
Markus hat dann die Remoting Patterns als Beispiel vorgestellt. Seiner Meinung nach kann man mit solchen Patterns ein tiefes Verständnis über den jeweiligen Bereich erreichen. Außerdem kann man so Best Practicses vermitteln und Struktur von Systemen klären.
Es gab dann eine kurze Diskussion zum Thema Dependency Injection und Spring. Es wird eben zur Zeit nicht als Pattern wahrgenommen. Warum das so ist, blieb allerdings offen. Interessant war auch, dass der Begriff Dependency Injection trotz des Hypes immer noch recht wenig weit bekannt ist.
Ein weiteres Thema war die Verwendung von Patterns in Tools. Nach Markus Darstellung ist es dann nur eine Lösung und noch nicht mal das, es ist oft nur eine Struktur. Beim Observer Pattern werden nur Subject und Observer festgelegt, aber nicht, was genau beobachtet werden soll und wann. Natürlich kann man das Pattern in AOP direkt umsetzen, aber Markus hob dann (wenig überraschend) auf eine Implementierung im Rahmen einer MDA Infrastruktur ab.
Dabei ergeben sich einige interessante Konsequenzen: Der Entwickler des Code Generators hat die konkrete Implementierung in der Hand. Eventuell ist noch nicht einmal klar, dass es um das erwähnte Pattern geht. Beim Observer könnte z.B. nur das Verschicken von Events sichtbar sein, dass aber ein Observer verwendet wird, ist nicht sichtbar und es kann sogar sein, dass statt des Observers eine statische Struktur verwendet wird, wenn dies ausreicht.
Als Seitennotiz sagt Markus noch, dass die "Schönheit" des generierten Codes durchaus relevant ist, weil man beim Debugging und beim Entwickeln des Generators damit Kontakt hat.
Ein weiteres Thema war das Selbst-Schreiben von Patterns. Markus Meinung nach verbessert es die Kommunikation und den Stil der Kommunikation.
Auch Architektur Patterns sind seiner Meinung nach wichtig, da sie wesentliche Orientierungs-Punkte für Architekturen sind. Relevant ist hier vor allem das POSA Buch.
Sein Fazit: Patterns sind überall. Es gibt nur noch wenig Hype, und wo es Hype gibt (Tools), sind Patterns eher unwichtig. In den nicht gehypten Bereichen (z.B. MDA) sind Patterns hingegen sehr nützlich.
Die Frage-Runde war fast schon deprimierend: Wie führt man Patterns in Organisationen ein sollte 10 Jahre nach dem GoF Buch eigentlich kein echtes Thema mehr sein. Die Realität ist offensichtlich anders...