So, willkommen zurück zur wunderbaren Welt des Software Engineering. Wir wollen heute mit unserer
Einführung weitermachen und wir hatten uns beim letzten Mal schon so ein paar Architekturentscheidungen
angeguckt, Plugins und wie man quasi so einen generellen Systementwurf machen kann, welche
Architekturen da praktisch sein können und heute wollen wir uns tatsächlich mit einzelnen
Entwurfsmustern für die Programmierung, insbesondere objektorientierte Programmierung
auseinandersetzen. Und das ist auch so ein Thema, also Entwurfsmuster ist etwas, wenn man
objektorientiert programmiert, dann läuft das einem ständig über den Weg. Also diese Entwurfsmuster,
wenn man die, also wenn man eine Weide programmiert hat objektorientiert, dann stellt man fest,
wow, das brauche ich irgendwie ständig. Das sind auch Lösungsvorschläge, die man vielleicht
selber sogar schon benutzt hat. Also diese Design Patterns, Entwurfsmuster sind einfach ganz tolle.
Da hinten ist irgendwie die Tür noch offen, könnte man die zumachen? Ich mache auch hier noch die Tür zu.
So und dann haben wir etwas mehr Ruhe hier. Also Entwurfsmuster sind ja wie so eine Art
Kochrezept für gewisse programmatische Probleme und wenn man eine Weile programmiert hat und dann
zum ersten Mal von diesen Entwurfsmustern hört, dann denkt man sich, oh mein Gott, das brauche
ich hier ständig. Und das ist so ein bisschen die Schwierigkeit, das jetzt zu unterrichten,
weil das hängt schon viel davon ab, wie viel Programmiererfahrung man hat mit dem objektorientierten
Programmierung und ich muss sagen, also viele von den Entwurfsmustern habe ich selber schon in
eigener Programmiererfahrung eingesetzt und fand die irre praktisch. Auch das Buch, aus dem diese
Sammlung von letzten Endes Kochrezepten kommen, wenn man das dann mit ein bisschen Programmiererfahrung
liest, denkt man, wow, das ist ja Wahnsinn. Auf der anderen Seite ist es auch ein tolles Kompendium,
man kann da auch super gut nachschlagen. Ich habe gerade ein Programmierproblem und ich möchte das
entsprechend lösen, mir fällt kein guter Lösungsansatz ein, dann kann ich mich hinsetzen und noch mal die
Entwurfsmuster rausholen und sagen, ach Mensch, genau das ist die Lösung zu meinem Problem. Also
das ist ja daher vom Unterrichten in der Vorlesung das Ganze schön vorzubereiten, schön zu zeigen,
man muss aufpassen, dass man sich nicht ein bisschen verzettelt, weil wirklich dann ins Detail zu gehen
bei den einzelnen Entwurfsmustern macht natürlich Sinn. Ich versuche das jetzt auch mit Programmierbeispielen
aus der eigenen Programmiererfahrung und so weiter zu unterstützen, aber zum gewissen Punkt möchte man
wahrscheinlich noch mal in Ruhe sich hinsetzen und ihr auch einfach nachschlagen. Es ist ein super
Nachschlagewerk. Wir haben jetzt auch hier in dem vorigen Satz nicht alle Entwurfsmuster aus diesem
Grundlagenwerk der Gang of Four, sondern wir haben da jetzt einige ausgewählt und gehen jetzt nicht
wirklich alle durch, weil ansonsten wird das alles ein bisschen öde und zäh. Wir haben relativ viele
drin. Ich werde die versuchen einigermaßen gut zu erklären mit Beispielen vorzusehen und dann über
einige vielleicht auch ein bisschen schneller hinweg zu gehen. Es gibt auf den Folien zu jedem im Prinzip
ein Klassendiagramm, UML-Klassendiagramm, das quasi so das Template vorgibt, wie das typischerweise
implementiert ist in der Klassenhierarchie und ich versuche es einigermaßen kurzweilig
rüberzubringen. Also aber das Ganze ist wirklich etwas, was auf der einen Seite unheimlich nützlich
ist, aber halt zu dem richtigen Zeitpunkt nützlich ist, wenn man genau an einem Problem arbeitet, wo
man das quasi implementieren will. Und das bringt uns letzten Endes zu der Frage, was sind diese
Entwurfsmuster und das ist im Prinzip eine best practice, könnte man sagen, die quasi
realisiert werden soll. Und das Ziel ist es quasi zu beschreiben, wie man entsprechende Lösungen
realisieren kann. Und jetzt würde ich ganz gerne, nein ich will nicht auf die nächste Folie, ich will
mal im Cursor. Schwarzer Cursor auf schwarzem Grund, ah sehr gut. Und letzten Endes sind es best practices
und die sind halt genau dann nützlich, wenn man genau dieses Problem vor Augen hat. Und ja, also
sich viele Lösungen anzugucken, ob man hat das Problem gar nicht, ist dann vielleicht auch nicht
so super spannend. Ich kann natürlich, das ist so wie wenn man ein Rätsel vor sich hat oder das
Lösungsbuch zu einem Rätsel, aber man hat das Rätsel nicht. Und das ist viel spannender, wenn man
erst drüber gerätselt hat und das Problem versucht schon mal selber zu lösen und dann die Lösung dazu
sieht. Dann fällt es einem quasi richtig auf, sagt, oh das ist toll, aber sich ständig nur die Lösung
anzugucken, ist natürlich auch nicht super toll. Häufig sind die auch letzten Endes durch so
Ressourcenknappheit und so weiter motiviert. Also eins, das wir heute auch durchgehen werden,
Presenters
Zugänglich über
Offener Zugang
Dauer
01:12:26 Min
Aufnahmedatum
2023-12-14
Hochgeladen am
2023-12-15 12:39:09
Sprache
de-DE