Entwurfsmuster in der Softwareentwicklung - GoF-Patterns verstehen und anwenden
Seminar - GFU Cyrus AG
Nach dem Seminar können Sie die behandelten GoF-Patterns erklären, im Quellcode erkennen und für konkrete Entwurfsaufgaben auswählen. Sie verstehen die klassischen Umsetzungen anhand von C#-Beispielen und können die zugrunde liegenden Konzepte auf Ihre eigene Programmiersprache übertragen. Sie beurteilen, wann moderne Sprachmittel eine geeignete Alternative bieten und wann eine klassische Objektstruktur Vorteile hat. Ihre Entscheidung begründen Sie anhand von Verständlichkeit, Erweiterbarkeit, Testbarkeit und Implementierungsaufwand. Außerdem können Sie vorhandenen Code auf sinnvolle Modernisierungsmöglichkeiten untersuchen, den Nutzen einer Umstellung einschätzen und ausgewählte Änderungen in kleinen, durch Tests abgesicherten Schritten durchführen.
Tag 1: Grundlagen und klassische Verhaltens- und Erzeugungsmuster
Entwurfsmuster seit dem GoF-Katalog: Entwurfsproblem und sprachbedingten Implementierungsaufwand unterscheiden
Klassische Strukturen und moderne Sprachmittel anhand von C#-Code vergleichen
Strategy: Schnittstelle, Implementierungen und Kontext; Delegates und Lambdas als Alternativen
Command: Befehlsobjekte, Ausführung und Warteschlangen; Grenzen einfacher Funktionslösungen bei Undo
Factory Method und Abstract Factory: Erzeugung, statische Erzeugungsmethoden und Dependency Injection
Template Method: Vererbung und alternative Gestaltung wiederkehrender Abläufe
Praxis: Ausgewählte klassische Umsetzungen in die eigene Sprache übertragen, Alternativen prüfen und Verständlichkeit sowie Testbarkeit vergleichen
Tag 2: Veränderte Umsetzungsmöglichkeiten
Visitor: Double Dispatch und Pattern Matching; Erweiterbarkeit und Grenzen der Vollständigkeitsprüfung
Observer: klassische Benachrichtigungsstruktur, Events, Rückrufe und reaktive Ansätze
State: Zustandsobjekte und alternative Zustandsmodellierung mit Typen und Fallunterscheidungen
Chain of Responsibility: Objektketten und Folgen von Funktionen
Builder: schrittweise Objekterzeugung im Vergleich zu modernen Initialisierungsmöglichkeiten
Prototype: Kopierkonstruktoren und Kopiermöglichkeiten mit Records
Singleton: globale Instanz, Lebensdauerverwaltung durch Dependency Injection und Testbarkeit
Praxis: Einen Ausdrucksbaum klassisch und mit einer geeigneten Alternative betrachten; Auswirkungen zusätzlicher Knotenarten prüfen
Tag 3: Strukturmuster und Arbeit mit Bestandscode
Adapter, Facade und Proxy: Aufgaben, Abgrenzung und Einsatz
Composite: rekursive Objektstrukturen modellieren
Decorator: klassische Umsetzung, Funktionsverkettung und Abgrenzung zu Middleware, Interceptoren und aspektorientierten Ansätzen
Patterns im Bestandscode erkennen, korrekt benennen und übermäßigen Einsatz hinterfragen
Entwurfsentscheidungen mit knappen Klassendiagrammen dokumentieren
Modernisierungen nach Nutzen, Aufwand und verfügbaren Sprachversionen beurteilen
Praxis: Umstellungen auswählen, begründen und eine Änderung in kleinen, durch Tests abgesicherten Schritten durchführen
Dauer/zeitlicher Ablauf:
3 Tage
Zielgruppe:
Sie entwickeln objektorientierte Software und möchten GoF-Patterns verstehen, gezielter einsetzen oder vorhandene Umsetzungen überprüfen. Das Seminar richtet sich an erfahrene Softwareentwickelnde, Softwarearchitektinnen und Softwarearchitekten sowie technische Leitungen, die Entwurfsentscheidungen treffen und Bestandscode weiterentwickeln. Sie können auch teilnehmen, wenn Sie mit einer anderen Programmiersprache als C# arbeiten.
Teilnahmevoraussetzungen
Sie benötigen praktische Erfahrung in einer objektorientierten Programmiersprache und einen sicheren Umgang mit Klassen, Schnittstellen, Vererbung und generischen Typen. Grundlegende Kenntnisse automatisierter Tests sind hilfreich. Erste Berührungspunkte mit Entwurfsmustern erleichtern Ihnen den Einstieg; die klassischen Formen der behandelten Patterns werden im Seminar erläutert. Sie sollten bereit sein, die anhand von C# vorgestellten Beispiele nachzuvollziehen und auf Ihre Sprache zu übertragen. Die jeweils benötigten modernen Sprachmittel werden im Zusammenhang mit den Patterns erläutert.
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern.
Diese Cookies werden nicht automatisiert gesetzt.
Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren.
Weitere Informationen finden Sie hier.