Die Verwendung von Design Patterns
Beginn
In dem Modul Softwarearchitektur haben wir in diesem Semester Design Patterns kennengelernt. Zuerst haben wir die entsprechenden Klassendiagramme in Enterprise Architect erstellt und anschließend in Java programmiert. Für den Abschluss des Moduls wenden wir als Gruppe die Muster auf eine Projektaufgabe an. Im folgenden gebe ich einen kleinen Einblick darüber was ein Muster ist. Kommende Blogeinträge behandeln unsere verwendeten Muster.
Hauptteil
Was sind Muster eigentlich? Muster können in Architektur– und Entwurfsmuster (engl. design patterns) unterschieden werden. Wir verwenden in unserem Projekt größtenteils Entwurfsmuster. Nur das MVC.-Muster wird zu den Architekturmustern gezählt.
Behandelte Muster |
---|
Template Method |
Composite |
Decorator |
Visitor |
Method Factory |
Builder |
MVC |
Observer |
Command |
Muster sind die Lösung für ein wiederkehrendes Problem. Die Lösungen sind bereits bewährt. Gewonnene Erkenntnisse werden wiederverwendet.
Außerdem vermindern Muster die Komplexität und erweitern die Fachsprache. Dadurch kommunizieren Softwareentwickler nur die Namen der Muster anstelle komplexer Abläufe.
Ein hohe Anzahl von Mustern in der Architektur stellt kein Merkmal guter Qualität dar. Solange kein innerer Zusammenhalt besteht fehlt auch die Substanz. Erst wenn sich viele Muster in einem Raum überlagern entstehen Synergieeffekte1.
Muster lassen sich in drei Kategorien aufteilen. Diese Kategorien sind Strukturmuster, Verhaltensmuster und Erzeugungsmuster.
Strukturmuster behandeln die statische Struktur von Klassen und Objekten. Wir verwenden: Decorator und Composite.
Verhaltensmuster beschreiben Interaktionen zwischen Objekten, wie durch das Zusammenwirken ein bestimmtes Verhalten erzeugt wird. Wir verwenden: Command, Observer, Strategy, Visitor und Template Method.
Erzeugungsmuster wie der Name schon ausdrückt erzeugen sie Objekte. Wir verwenden: Method Factory und Builder.
Ausblick
Das war der erste kleine Einblick in die Eigenschaften von Design Patterns. Die genannten Muster werde ich in den kommenden Tagen behandeln. Für unsere Projektarbeit haben wir bereits die Diagramme erstellt. Nach wenigen abschließenden Schritten folgt die Umsetzung in Java-Code. Ich bin sehr gespannt!
1. Goll, J. Architektur- und Entwurfsmuster der Softwaretechnik: 2014, S. 63 ff.
No Comment