Dieser Kurs richtet sich an Software-Ingenieure und Software-Architekten und passt zu einem agilen Prozess, den sie möglicherweise in ihrem Unternehmen eingeführt haben.

Das vorgeschlagene Schulungsprogramm konzentriert sich auf die Anwendung von Entwurfsmustern der Gang of Four, um nicht-funktionale Anforderungen zu erfüllen und eine Softwarearchitektur zu erhalten, die der Softwareevolution auf emergente Weise standhalten kann. Der Grundgedanke, der sich durch den Kurs zieht, ist, dass nicht-funktionale Verbesserungen durch die Transformation und das Refactoring einer Softwareanwendung unter Verwendung von Mustern erreicht werden. Ein wichtiger Aspekt ist die Gestaltung von Komponentenschnittstellen in einer Weise, die die Integration erleichtert, indem sie die Rückwärtskompatibilität mit bestehendem Client-Code gewährleistet.

Das Programm bietet eine gesunde Mischung aus Theorie und Übungen. In den Übungen müssen die Teilnehmer ein Muster auswählen, um ein bestehendes Design im Hinblick auf einen bestimmten nicht-funktionalen Aspekt zu verbessern. Typische solche Aspekte sind Skalierbarkeit, Wiederverwendung, Erweiterbarkeit und Portabilität. Der letzte halbe Tag des Kurses befasst sich mit verschiedenen Architekturmustern von Buschmann et al. und zeigt, wie diese Architekturen mit Hilfe der GoF-Designmuster durch schrittweise Transformationen realisiert werden können. Für weitere Informationen klicken Sie bitte hier.

Diese Schulung ist sowohl für offene Einschreibungen als auch für firmeninterne Sitzungen verfügbar. Für firmeninterne Schulungen kann die Design Patterns-Schulung an Ihre Situation und Ihre speziellen Bedürfnisse angepasst werden.

Objektiv

Nach erfolgreichem Abschluss des Kurses werden die Teilnehmer:

  • ein Verständnis für die architektonische Bedeutung von Mustern haben;
  • haben Einblick in die Art und Weise, wie Muster angewendet werden können, um verschiedene Arten von nicht-funktionalen Anforderungen zu berücksichtigen;
  • Kenntnisse über die GoF-Muster haben;
  • haben einige Fähigkeiten erworben, um Situationen zu erkennen, in denen Muster angewendet werden können;
  • Kenntnis der Entscheidungskriterien bei der Anwendung von Entwurfsmustern;
  • einige der Fallstricke zu verstehen, die die Anwendung von Mustern mit sich bringen kann;
  • die OO-Prinzipien hinter den Mustern zu verstehen: Metamuster und die Verwendung der Objektorientierung zur Lokalisierung von Variabilität;
  • verstehen, wie man als Architekt Scrum-Prinzipien in Kombination mit Patterns einsetzt, um Software mit emergenter Architektur zu entwickeln und Produktivität, Qualität, kontinuierliche Verbesserung, kontinuierliche Integration und kontinuierliche Bereitstellung zu unterstützen;
  • verstehen, wie Sie technische Schulden in agilen Projekten vermeiden und reduzieren können.

Zielgruppe

Dieser Kurs richtet sich an Softwarearchitekten und Softwareentwickler.

Der Teilnehmer sollte einen Einblick in die Hintergründe objektorientierter Techniken haben, eine gängige objektorientierte Programmiersprache (C++, Java, C#) beherrschen und über Kenntnisse der Syntax und Semantik der meistverwendeten UML-Modellierungskonzepte verfügen.

Der Kurs erfordert die Fähigkeit, mit Hilfe von UML-Klassendiagrammen von Details im Quellcode zu abstrahieren. Es werden regelmäßig Beispielprogrammfragmente gezeigt. Der Kurs wird mit Quellcode in Java sowie mit den ausführbaren Dateien zu den Fallstudien begleitet.

Startdatum Expected Q4 2026 Infos zur nächsten Ausgabe
Dauer 2 mal 2 Tage
Frequenz Zweimal pro Jahr
Ergebnis
8.5
Preis pro Teilnehmer € 2,600 ohne MwSt. *
Broschüre herunterladen

Programm

Tag 1:

  • Patterns im Scrum-Entwicklungsprozess;
  • Umgang mit technischen Schulden, Emergent Architecting;
  • Unterstützung von Continuous Integration, kontinuierlicher Bereitstellung und Release-Zügen;
  • Die architektonische Bedeutung von Entwurfsmustern;
  • Patterns und Modularität;
  • Muster und nicht-funktionale Anforderungen;
  • Die Anwendung von Mustern in einem agilen Entwicklungsprozess (Scrum);
  • Klassifizierung der Muster;
  • Beispiele für Muster (aus GoF: Gamma et al.): Command, Abstract Factory, Bridge, Exercise (Wartbarkeit), Prototype, Composite, Observer, Exercise (Skalierbarkeit, Wiederverwendung, Erweiterbarkeit), Scrum exercise.

Tag 2:

  • Beispiele für Muster (aus Gamma et al.): Übung (Fortsetzung), Geführte Diskussion über Schnittstellendesign und Komponentenintegration, Factory Method, Proxy, Strategy, Übung (Wartbarkeit), Singleton, Adapter, Listener (und C# Delegates), Scrum-Übung (Entkopplung für Portabilität).

Tag 3:

  • Beispiele für Muster (von Gamma et al.): Mediator, State, Template Method, Übung (Zustandsautomaten), Geführte Diskussion zur Vermeidung von Deadlocks und Race Conditions, Decorator, Flyweight, Visitor, Übung (Erweiterbarkeit), Interpreter, Builder, Iterator.

Tag 4:

  • Beispiele für Muster (von Gamma et al.): Übung (Wiederverwendung), Fassade, Chain of Responsibility, Memento.
  • Architekturmuster (Buschmann et al.);
  • Realisierung von Architekturen unter Verwendung von Entwurfsmustern: Layers, Scrum-Übung, MVC, Geführte Diskussion über MVC, Broker, Geführte Diskussion über Broker;
  • Schlussfolgerungen.

Methoden

Vorlesungen, praktische Übungen mit Bleistift und Papier und geführte Diskussionen. Lehrmaterial: Kopien der Präsentationen, Handouts mit Übungslösungen, ausführbare Beispielfälle in Java (zum späteren Nachschlagen), Buch: "Entwurfsmuster: Elemente von wiederverwendbarer objektorientierter Software" Gamma, et.al.

Sprache: Englisch

Kurs-Bewertungen

"Klar, verständlich, gute Balance zwischen Theorie und Übungen."

Tim van den Kerkhof - Sioux Embedded Systems

"Klares und gutes Training. Entspannte und offene Atmosphäre. Viel Raum für Diskussionen."

Bart van Knippenberg - Thermo Fisher Scientific

"Die wichtigsten Dinge, die ich gelernt habe: Allgemeines Verständnis/ Existenz von GoF-Mustern. Funktionen als Grundlage zur Verbesserung meiner OO-Design-Fähigkeiten."

Erik Nagel - Kipp & Zonen

"Was mir am meisten gefällt, ist die schrittweise Umwandlung eines grundlegenden Designs in ein gutes OO-Design."

Alexandros Loizidis - Thermo Fisher Scientific