heise+ | Warum Java und Design Patterns eine vielversprechende Kombination sind
Java und Entwurfsmuster (Design Patterns) gehören heute zu den heißen Themen, und beide erzeugen einiges an dem inzwischen vielzitierten „Hype“. Es zeugt deshalb von gesundem Marketing, wenn man diese bei den Themen kombiniert. Dahinter steckt aber zum Glück mehr als nur reines Marketing. Java ist eine moderne objektorientierte Programmiersprache für die Implementierung, und Entwurfsmuster sind ein modernes Hilfsmittel für den Entwurf. Eine Kombination von Java mit Entwurfsmustern ist deshalb vielversprechend.
Die Idee von Mustern ist denkbar einfach: Man dokumentiert gute Erfahrungen und bewährte Praktiken für die Gestaltung von Systemen, sodass sie nicht jedes Mal von Neuem gemacht und entdeckt werden müssen. Ein Muster beschreibt eine Familie von Lösungen für wiederkehrende Probleme. Für die Beschreibung von Mustern gibt es verschiedene Stile und Formate. Gemeinsam dabei ist, dass eine Beschreibung immer aus einem Problem- und einem Lösungsteil besteht. Muster sind abstrakte Beschreibungen, die bei der Anwendung auf ein bestimmtes Problem umgesetzt und entsprechend implementiert werden müssen.
Dr. Erich Gamma hat an der Universität Zürich in Informatik promoviert. Er arbeitete als Software-Ingenieur beim UBILAB (Forschungslabor der Schweizerischen Bankgesellschaft, heute UBS) und von 1993 bis 1995 bei Taligent. Gamma war einer der Hauptentwickler von ET++, einer portablen C++-Klassenbibliothek für die Entwicklung von interaktiven, grafischen Anwendungen. Gemeinsam mit Kent Beck implementierte er JUnit für die Programmiersprache Java.
Die Idee von Mustern hat sich innerhalb kurzer Zeit von einem Kult zu einer echten Kultur entwickelt. Verschiedene Kataloge mit Entwurfsmustern sind bereits publiziert und werden aktiv eingesetzt. Ebenso gibt es spezielle Konferenzen zum Thema Muster (PLoP – Pattern Languages of Programs, EuroPLoP). Dieser Artikel beschreibt verschiedene Anwendungen von Entwurfsmustern. Entwurfsmuster helfen sowohl beim initialen Entwurf, bei der Verfeinerung eines existierenden Entwurfs und schließlich auch bei der Kommunikation einer Architektur.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.