So, in dem letzten Blog für die heutige Vorlesung
möchte ich auf Entwurf, es muss doch kommen.
Wir haben beim letzten Vorlesungen ja schon das Entwurfsmusterbeobachter kennengelernt.
Diese Entwurfsmuster, die wir mit hervorgehen, vor dir noch überall,
wenn ihr sagt, ein Hof soll irgendwie erfolgen.
Wir müssen irgendwie von Problemenraum zu Lösungsraum kommen. Und dieser Übergang,
den bezeichnen wir als Entwurf und eines der Mittel,
die wir dabei einsetzen können,
sind vorgefertigte Lösungen im Sinne von Ingenieur
Und solche vorgefertigten Lösungen zu verallgemeinern, ist etwas sehr Hilfreiches,
das der Community, der Entwickler zur Verfügung zu stellen.
Und solche Dinge, die wir hier benutzen, bezeichnen wir gerne.
Und einmal benutzen wir Entwurfsmuster. Entwurfsmuster, hier die Definition,
das erste Mal hier oben, bepattern,
ist es so Münchentüre, Köln, Poplem in den Kontext.
Also zu einem wiederkehrenden Problem. Und allerdings ist dabei
keine Implementierung enthalten
Ja, das ist nur das Schema, wie so etwas
aussehen kann. Nur die Vorlage, die ein Templikt.
Und es gibt viele Wege, so eine Lösung zu implementieren,
zu verwirklichen, Implementierung, heißt Verwirklichung.
Und damit erfüllen wir auch das, was standardmäßig als Pattern
bezeichnen wird. Und Pattern ist irgendwie in der Abstraktion,
was sich wiederholt, was mehrfach auftritt. Das ist so
ein Wurfsmuster eben alle. Es gibt noch ähnliche Verwandtebegriffe,
für denen ich hier ein paar Mal dargestellt habe.
Sie müssen das nicht alles können. Wichtig ist,
dass Sie wissen,
was ein Ententwurfsmuster ist
Und hier nur zur Vervollständigung.
Dieser Begriff Entwurfsmuster stammt ursprünglich aus der Architektur für Bauwerke.
Christopher Alexander ist ein Architekt, der ein Buch geschrieben hat.
Sie sehen hier die Jahreszahl 77, 79 schon eine kleine Ewigkeit her.
Und der hat tatsächlich Empfehlungen für Architekten in Form von solchen Rezepten
beschrieben. Er hat gesagt, was passiert,
was ist das Problem und wie sollte der Kern einer Lösung aussehen
Können immer unterschiedlich sein, also ohne,
dass man das genauso immer wieder gleich macht,
aber man kann es in ähnlicher Form verwenden.
Und er hat vorgeschrieben, wie mir vorgeschlagen,
wie man das formulieren kann, als eine dreiteilige Regel.
Es gibt eine Sache zum Kontext,
die Beschreibung des Problems und wie sollte die Lösung aussehen.
Das hat irgendjemand entdeckt aus der Softwareentwicklung, als wir sagten,
wow, das ist das, was wir unbedingt brauchen.
Wir machen alle Sachen immer wieder neu. Das kann uns richtig helfen,
das zu machen in den 80ern und die nehmen wir erzählen,
gab es da eine große Bewegung,
lasst uns Muster suchen
Diese Muster zu beschreiben, es hat sich dann gezeigt,
diese dreiteilige, ein Struktur reicht nicht ganz.
Man hatte jetzt natürlich Probleme im Kontext und Lösungen hier verwendet,
aber es gibt noch mehr Elemente, tatsächlich,
die dazugehören und was wir dabei ausdrücken,
ist zum einen, was wollen wir für Ziel erreichen?
Häufig suche ich nach Lösungen für bestimmte Probleme,
also zum Beispiel ich möchte ein Ziel haben,
besonders Performance zu erreichen, dann suche ich nach Entwurfsmussen,
deswegen ist es gut, wenn das irgendwo drinsteht,
dann wie sieht die Lösung aus?
Wir hatten schon gerade gehört, es ist nicht wirklich Implementierung,
es ist kein Code dabei, aber nur eine Anleitung,
wie der Code aussehen soll.
Das heißt, eine Struktur beteiligte Einheiten,
wie arbeiten die zusammen, manchmal auch Hinweise für den Komitee.
Und wenn wir es anwenden, dann hat das meistens positive Effekte.
Das ist ja das, was wir erreichen wollen, das Ziel unbedingt.
Aber manchmal gibt es auch Nachteile, die etwas hat.
Sie wissen, jede Münchner hat zwei Seiten und manches was
besonders Tolles hat irgendwelche auch Nebenwirkungen, die wir nicht richtig wollen.
Und diese Musterbeschreibung enthalten das auch, die Anlehnbarkeit.
Also das sind diese Entwurfsmuster. Wir haben als konkretes Beispiel
letzte Woche das Beobachtermuster als Beispiel gehabt
Das MVC muss, da haben wir auch hier gelegentlich in dieser Veranstaltung.
Deswegen gehe ich jetzt heute nicht auf ein konkretes Beispiel ein. Wobei helfen uns diese,
diese Entwurfsmuster, ach so, dass ich das nicht vergesse,
das ist tatsächlich gefragt in der Frage 5. Ich gehe mal hier zurück,
ja, erläutert sie dein Beschreibungsschimmer für Entwurfsmuster,
das gibt ihnen die Gelegenheit,
dieses ganze Schema zu erklären,
was erlebt muss eigentlich ist,
nämlich dieses Sache,
für ein bestimmtes Problem in einem bestimmten Kontext
habe ich eine bestimmte Lösung
Ja, diese Entwurfsmuster sind etwas ganz Tolles,
das hören Sie schon daran, wie ich Ihnen das hier anbiete.
Sie sind tatsächlich Vorlagen. Und diesen Vorlagen für erfolgreiche Lösungen.
Dieser Weg, etwas wiederzuverwenden, das ist ja was,
das Engineering, das Ingenieure gemäßigen Herangehen prägt.
Man versucht, erfolgreiche Lösungen weiterzuentwickeln. Innerhalb von Softwarelösungen können
das tatsächlich Bausteine sein. Sie sind dadurch, dass sie
mehr als Lösungsschema kommen, gut anpassbar in die Umgebung.
Wir hoffen, dass wir im Pensierungshinweise genug haben,
dass wir es am Ende machen können.
Und es ist weiterhin wieder Verwendung von Wissen
Außerdem sind, wenn wir solche Muster anwenden,
das kann sie nicht so viel gestalten, sondern mehr einheitlich.
Und einheitlich ist leichter zu erkennen, wenn sie gewisse Strukturen wiederfinden,
dann fühlen die sich schneller dort zu Hause.
Sie finden, ah, das ist so und das geht so,
ah ja, das ist wie in einem anderen Modell.
Das hilft uns. Und das ist auch eine Empfehlung,
wie sie den Sachen bislang nachgibt.
Nicht so viel Vielfalt ist auch besser dafür, Komplexität zu beherrschen.
Und wenn das Eingang findet, in die Sprache der Entwickler,
dann können die direkt sagen, ah ja, du übrigens,
das ist das ein Beobachtermus, weil alle wissen gleich,
ach ja,
beobachte,
müssen wir kennen
Und damit ist es leichter, einheitliche Entwürfe zu machen,
über die man sich auch gut versteht,
also diese Kommunikationsaspekte wird dann leichter.
Insgesamt ist es so, dass das Ganze erfolgreich und wiederverwendet ist,
ist das so, dass die bestimmte Qualitätseigenschaften schon haben.
Wir wissen schon, das ist schon eine erprobte Lösung,
zum Beispiel für Redustei, für Skalierbarkeit, für Zuverlässigkeit, für Sicherheit.
Und es ist klar, was sind für Vorbedingungen,
im Kontext, was ist die Voraussetzung am Ende
als Kontext?
Das ist auch ein wichtiger Pupp
Konsequenterweise wurden solche Entwurfsmuster gesammelt. Ich hatte vorhin schon mit
einer großen Bewegung Muster zu finden in den 90er Jahren gesprochen.
Das gibt es heute auch noch. Und wenn auch in der große Hype da vorbei ist,
das erste Buch, was dazu entstanden ist,
von dieser sogenannten Gänge vor, Gummerham, Johnson,
Frisitis, dass man erfolgreiche Entwickler ist, mehreren Teams,
die da zusammengearbeitet haben.
Und die haben das 1995 rausgebracht. Das sind, ich glaube,
so 14 Ernährungsmuster drin, das ist auch mit deutschen verfügbar.
Es gab Weiterentwicklungen, viele zitieren nur dieses Buch.
Nein, es gibt
noch viel mehr
Und eine Reihe von fünf Büchern, die Frank Buschmann und
weitere Autoren zusammengetragen haben. Ich habe hier mal Volumen 2
dargestellt, Patterns for Concurrent im Network Objects.
Also für verschiedene Einsatzgebiete weiterentwurfsmuster, die darüber deutlich hinausgehen.
Und zusätzlich gibt es noch, finden Sie noch Entwurfsmuster im Internet,
in verschiedenen Katalogen, zum Beispiel für ESP.matt Earths,
Sharp oder Jahreskript oder ganz verschiedene Angelöstbereiche.
Es ist, meine Empfehlung ist, versuchen Sie sich,
solche Muster zu erschießen.
Zwei, drei lernen Sie in so einer Lehrveranstaltung wie PISA
Aber sie müssen das nach und nach tun.
Muster lernt man nicht, aber in der Veranstaltung kennen,
sondern dadurch, dass man sie benutzt.
Ja, klar, können Sie mit der Vorlesung starten,
Sie können sich mit den Buchstaben im Webkatalog, das ist der Staat.
Aber Sie sollten die Einwendung üben. Ja,
das kann man in einem kleinen Beispiel machen,
man kann eine Kulturheule verfolgen, aber noch besser ist natürlich,
dass Sie existieren im WA-Him-System einsetzen.
Dabei merken Sie, wo sehr die Kniffe liegen,
Sie machen das zu ihrem eigenen Wissen,
verstehen das deutlich besser, erfahren,
ersammeln Erfahrungen und können damit machen,
das dann
zu Ihrem Arbeitswerkzeug
Deswegen meine Empfehlung, gehen Sie durchaus aktiv auf die Suche
und machen Sie Ihre eigene persönliche Sammlung von Mist.
Damit schließen wir für heute. Wir haben die Fragen,
die volle, so nach und nach durchgegangen.
Ich wünsche Ihnen, dass Sie mit diesen,
mit diesen doch eher trockenen Thema ohne Java heute gut zurechtkommen.
Modellierung ist etwas, was wir brauchen, um große Systeme darzustellen,
um gemeinsames Verständnis und Kommunikation zu erreichen,
um das prüfen zu können.
Und das ist etwas, was wir im Kleinen natürlich nicht so ausprobieren können.
Deswegen gibt es hier heute kein Java dazu.
Weil wir dann bis zur Fragerunde oder bis zum nächsten Mal