Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Grundlagen der Programmierung: Entwurfsmuster

Muster im Zusammenspiel

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Häufig wird nicht ein Muster isoliert eingesetzt, sondern im Zusammenspiel mit anderen, sei es, um Nachteile eines Musters auszugleichen oder weil sich die Muster gut ergänzen. Dieses Video erläutert das an einem konkreten Beispiel.
02:32

Transkript

In diesem Video möchte ich Ihnen exemplarisch zeigen, wie mehrere Entwurfsmuster sich gegenseitig ergänzen können. Wir beginnen dazu mit einem Kompositum. Das Kompositum dient der Darstellung von Baumstrukturen, die aus Knoten und Blättern bestehen und ermöglicht dem Client einen einheitlichen Zugriff auf diese Elemente. Wenn wir nun einen solchen Client haben, der eine solche Baumstruktur benutzen möchte, dann muss er sie zuerst natürlich konstruieren. Ein solches Kompositum ist eine komplexe Struktur und der Erzeugungsprozess besteht aus vielen Einzelschritten und erfordert viel Wissen über den internen Aufbau des Kompositums. Mit dieser Problembeschreibung in der Hand finden wir ein anderes Entwurfsmuster, das uns das weiterhelfen kann und zwar den Erbauer. Der Erbauer ist eben genau dafür gedacht, komplexe Strukturen zu erzeugen und zwar typischerweise in einem mehrschrittigen Prozess, ohne dass der Client die Details der Erzeugung selbst kennen muss. Der Client kann nun also zum Erbauer gehen und sich von diesem das Kompositum erzeugen lassen. Nun hat der Client sein Kompositum und möchte gerne was damit machen. Er möchte auf die einzelnen Elemente des Baumes sequenziell zugreifen können. Dazu müsste er nun doch wieder wissen, wie der Baum intern funktioniert. Das Problem heißt nun also sequenzieller Zugriff auf die Elemente einer Datenstruktur, ohne die Interna dieser Datenstruktur kennen zu müssen. Auch hierfür gibt es ein passendes Entwurfsmuster und zwar den Iterator. Der Iterator kapselt nun also die Details des Elementzugriffs und der Client kann über den Iterator ganz einfach sequenziell durch die Elemente durchgehen. Aber unser Client ist immer noch nicht so richtig glücklich, denn jetzt hat er ein neues Problem. Wie kommt er an den Iterator ran? Er müsste jetzt wissen, welcher Iterator zu welcher Datenstruktur passt und da er die Datenstruktur eigentlich gar nicht richtig kennt, kann er diese Entscheidung gar nicht treffen. Die Frage heißt jetzt also, woher bekommt der Client ein Objekt, dessen Erzeugung er selbst gar nicht vornehmen kann oder will. Objekterzeugung kapseln möglichst in einem einfachen Methodenaufruf, da für gibt es die Fabrikmethode. Diese Fabrikmethode wird vom Kompositum zur Verfügung gestellt und wenn der Client sie aufruft, dann bekommt er als Antwort den passenden Iterator. Durch das Zusammenwirken dieser vier Entwurfsmuster, also Kompositum, Erbauer, Iterator und Fabrikmethode kann der Client nun also mit seiner Baumstruktur arbeiten. Er kann sie erzeugen und er kann auch auf die Elemente zugreifen, ohne an irgendeiner Stelle etwas über die dafür notwendigen Abläufe und das interne Wissen wissen zu müssen. Das Kompositum kapselt die interne Struktur und den Unterschied zwischen Knoten und Blättern. Der Erbauer kümmert sich um die Erzeugung des Kompositums. Die Fabrikmethode bietet den passenden Iterator und mit dem Iterator kann der Client dann auf die Elemente des Baumes eins nach dem anderen zugreifen.

Grundlagen der Programmierung: Entwurfsmuster

Erhalten Sie einen fundierten Einstieg in das Thema Entwurfsmuster (Design Patterns) und erfahren Sie, wie Sie Entwurfsmuster in objektorientierten Programmiersprechen umsetzen.

2 Std. 49 min (33 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!