Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Grundlagen der Programmierung: Entwurfsmuster

Erbauer: Das Problem

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
In diesem Video wird das Problem genauer erläutert, das mit dem "Erbauer"-Muster angegangen werden soll.
02:34

Transkript

Der Erbauer ist ein Entwurfsmuster, das ich Ihnen in diesem Video vorstellen möchte. In vielen Anwendungen gibt es Objekte, deren Erzeugung vergleichsweise komplex ist. Das liegt häufig daran, dass für die Erzeugung solcher Objekte viele Parameter benötigt werden, die teilweise optional sein können oder dass die Objekte aus mehreren Bestandteilen zusammengesetzt werden sollen, von denen wiederum einige optional sein können. Für die Erzeugung sind dann in der Regel mehrere Einzelschritte nötig und häufig sind nicht alle Kombinationsmöglichkeiten der Attribute zulässig. Ein Client hat also eine Menge Arbeit zu leisten, wenn er ein solches Objekt erstellen möchte. Nehmen wir dazu ein Beispiel. Ein kleines Möbelgeschäft bietet seinen Kunden die Möglichkeit, Schränke quasi nach Wunsch anfertigen zu lassen. Der Käufer soll dabei möglichst viele Wahlmöglichkeiten haben, von denen einige obligatorisch sind, einige optional und möglicherweise sich sogar einige gegenseitig ausschließen. Ein Beispiel für eine obligatorische Wahlmöglichkeit, also Pflichtattribut sozusagen, wäre die Größe des Schrankes. Das muss ich denen schon sagen, wie groß der Schrank sein möchte, den ich haben will. Kann oder will ich mich noch nicht für eine Farbe entscheiden beispielsweise, dann bekomme ich die Standardfarbe. Das wäre dann ein optionales Attribut. Wenn ich beispielsweise einen sehr schmalen Schrank haben möchte mit nur einer Tür, dann passen da zwar ein paar Einlegeböden rein, aber keine Kleiderstange. Diese Attribute schließen sich dann gegenseitig aus. Um das Ganze in unserem Bestellsystem umsetzen zu können, brauchen wir auf jeden Fall eine Klasse Schrank, die so oder so ähnlich aussehen könnte. Die Klasse hat Attribute für alle Wahlmöglichkeiten, also hier zum Beispiel für die Anzahl der Türen, für die Oberfläche. Die Oberfläche des Schrankes kann beispielsweise unbehandelt oder gewachst oder lackiert sein. Dann haben wir hier die Farbe des Schrankes. Da kann der Kunde aus einem Angebot von 10 verschiedenen Farben wählen. Weiterhin gibt es gegen Aufpreis die Option, die Schubladen auf Metallschienen fahren zu lassen. Ohne die Schienen wäre es einfach nur Holz auf Holz und mit den Schienen ist es einfach etwas komfortabler. Weiterhin kann der Kunde die Anzahl der Einlegeböden angeben und schließlich kann er noch sagen, ob er eine Kleiderstange haben möchte oder nicht. Für die Anzahl der Türen und die Anzahl der Böden gibt es außerdem noch eine Beschränkung, was die Mindest- oder die Höchstzahl angeht. Türen zum Beispiel können wir sagen, gibt es zwischen 2 und 7 und Böden, da kann man sagen, ich will gar keine oder eben bis zu 6 beispielsweise. Ein Client, der nun einen solchen Schrank erzeugen möchte, muss natürlich für alle Attribute die gewünschten Werte angeben. Das ist nicht nur unschön, es macht den Client auch sehr abhängig von dieser Klasse, da er hier wirklich alles ganz genau wissen und auf alles selbst achten muss.

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!