Erfahrungen mit "Programmieren mit Entwurfsmustern (ProgDP bzw. DP)"

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Erfahrungen mit “Programmieren mit Entwurfsmustern (ProgDP bzw. DP)”
Hat jemand Erfahrung mit der im Titel genannten Veranstaltung, die von Dr. Wilke am Wochenende gehalten wird?
Ich spiele momentan mit dem Gedanken, daran teilzunehmen - allerdings wollte ich wegen meines “PräTech-Traumas” sicherheitshalber Erfahrungsberichte einholen :wink:

Über Informationen würde ich mich sehr freuen, vielen Dank!


Hi,

der Ablauf der Vorlesung ist in etwa so:
Es wird ein Entwurfsmuster(DP) vorgestellt, man macht in Kleingruppen dazu was und zeigt es den anderen.
Das wiederholt sich dann mehrmals.
Am Mittag ist man zusammen Broetchen.
Dann geht es wie am Vormittag weiter oder man macht ein Projekt in groesseren Gruppen mit mehreren Mustern.
Ich muss sagen es war nicht wirklich spannend.
Man lernt ein Dutzend Muster, schreibt JUnit Tests und implementiert die Muster.
Nicht wirklich spannend.
Der groesste Vorteil an dieser Vorlesung: man hat 5ECTS in wenigen Tagen abgehakt.

1 „Gefällt mir“

Na hoffentlich versemmelt niemand die Veranstaltung.

2 „Gefällt mir“

tzzz da versteckt sich doch wieder das zweite s


Ob es wohl moeglich ist, diese fuer den Bachelor gedachte Veranstaltung im Master zu hoeren und anzurechnen?
Hat da jemand Info oder Erfahrung?
Wuerde sie echt gerne belegen.


Laut PSWT / OSR Homepage ist die Veranstaltungen auch fuer den Master gedacht.


Hier noch ein Protokoll vom letzten Jahr:

Protokoll Entwurfsmuster WS 2011/2012

Überblick über die Vorlesung => Entwurfsmuster als allgemeine erprobte Lösungskonzepte. Drei Arten: Strukturmuster, Verhaltensmuster, Erzeugungsmuster. Diese unterteilen sich jeweils noch in objekt- und klassenmuster. Unterteilung wurde von der Gang Of Four gemacht, um Muster zu klassifizieren, Namensgebung zur Verständigung, Vergleichbarkeit, sind im Laufe der Zeit entstanden.
Gibt es noch weitere Muster? => Ja, z.B. Architekturmuster (MVC)

Ein beliebiges Muster vorstellen und erklären mit Hilfe eines UML-Diagramms. => Abstrakte Fabrik mit Windows- und Linux-Fenstern
Beide Fenster sind rechteckig, warum braucht man zwei verschiedene Fabriken? => Die Fenster haben ein ähnliches Erscheinungsbild, aber zugrunde liegende Bibliotheken ganz andere Signaturen
Was ist eine Fabrikmethode? => “CreateWindow” zum Beispiel, die Methode, die das konkrete Objekt erzeugt
Wann entscheidet man, ob ein Windows- oder ein Linuxfenster produziert wird?
Kann man sich vorstellen, dass man beide Plattformen gleichzeitig benutzt? => Ja, wenn man z.B. auf dem Rechner Handy-Programm testet
Was bedeutet in Java “abstract”? => Von abstrakten Klassen kann man keine Instanz erstellen. Man muss sie ableiten.

Welches Muster ermöglicht zu einem komplexen System einen einfachen Zugang? => Fassade
Muster erklären… => Eine Klasse, welche dem Client einfache Schnittstellen anbietet für häufig benötigte Aufgaben und die drunterliegenden komplexen Subsysteme steuert, zum Beispiel: Druckfenster sieht in verschiedenen Programmen gleich aus, benutzt die gleiche Fassade. Man kann aber auch Fassade nicht nutzen und direkt Subsysteme ansprechen.
Tut eine Fassade die Komplexität der Software verringern, oder den Umfang der Software? => Verringert Komplexität (erleichtert Nutzung), Umfang der Software steigt (Fassade kommt ja extra dazu)

Singleton erklären => Stellt sicher, dass von einer Klasse genau ein Objekt existiert
Singleton am Programmcode erklären… threadunsicher/threadsichere Variante… warum nicht im Konstruktor Objekt erzeugen => lazy initialization
Wenn man statt einem Singleton eine Variable nimmt, welches Problem tritt auf?

Chain of Responsibility erklären. Vereinfachtes Beispiel mit Druckern zur Laufzeit. Der Drucker, der frei ist, soll den Auftrag bearbeiten. Darf ein Drucker in der Schleife nochmal vorkommen? => Ein Drucker vom gleichen Typ darf. Es soll nur keine Möglichkeit einer Endlosschleife erzeugt werden (das SELBE Objekt mehrmals in der Chain)

Persönliches Fazit:
Fragen teilweise schwer verständlich. Benotung fair


Vielen Dank!