Kurs
digicode: ODP
Design Patterns für moderne Softwareentwicklung
Kurs-Facts
Als PDF herunterladen- Kennen der wichtigsten Konzepte, Einsatzgebiete und Grenzen von Design Patterns
- Einsetzen von Design Patterns für typische Designprobleme
- Beurteilen von Pattern-Alternativen anhand von Wartbarkeit, Erweiterbarkeit, Testbarkeit und Verständlichkeit
- Erkennen von Design Smells und verbessern bestehender Designs durch Refactoring
- Nutzen von KI als Unterstützung bei der Analyse von Designproblemen und der Bewertung von Lösungsvarianten
In diesem praxisorientierten Kurs lernst du, Design Patterns zielführend für die Entwicklung von wartbarer, flexibler und verständlicher Software einzusetzen. Du erkennst typische Designprobleme, wählst passende Pattern-Alternativen aus und beurteilst deren Auswirkungen auf Wartbarkeit, Erweiterbarkeit, Verständlichkeit und Testbarkeit.
Anhand praxisnaher Übungen arbeitest du mit ausgewählten Patterns, refactorst bestehende Designs und diskutierst typische Trade-offs. KI-Tools werden als Sparringspartner genutzt, um Designprobleme zu analysieren, Lösungsvarianten zu vergleichen und Refactoring-Ideen kritisch zu prüfen.
1 Softwaredesign und Designqualität
- Merkmale von gutem objektorientiertem Design
- Wartbarkeit, Erweiterbarkeit, Testbarkeit und Verständlichkeit
- SOLID-Prinzipien als Grundlage für Designentscheidungen
- Design Smells und typische Ursachen für schwer wartbaren Code
- Trade-offs und Konsequenzen von Designentscheidungen
2 Design Patterns verstehen und auswählen
- Zweck, Aufbau und Anwendung von Design Patterns
- Erzeugungs-, Struktur- und Verhaltensmuster im Überblick
- Pattern-Auswahl anhand von Kontext, Problemstellung und Konsequenzen
- Anti-Patterns und übermässiger Pattern-Einsatz
3 Ausgewählte Design Patterns in der Praxis
- Singleton, Factory Method und Abstract Factory für flexible Objekterzeugung
- Adapter, Facade, Composite und Proxy für entkoppelte Strukturen
- Strategy, Observer und Template Method für flexibles Verhalten
- Chain of Responsibility und Command für erweiterbare Abläufe
4 Vom Designproblem zur Lösung
- Designprobleme erkennen und analysieren
- Geeignete Pattern-Alternativen entwickeln und bewerten
- Bestehende Designs mit Patterns refactoren
- UML-Skizzen und Codebeispiele zur Diskussion von Lösungsvarianten
- KI-Unterstützung beim Analysieren, Vergleichen und Prüfen von Lösungsansätzen
5 Design Patterns im Architekturkontext
- Zusammenspiel von Design Patterns, SOLID und Architekturentscheidungen
- Dependency Injection und Inversion of Control
- Patterns in Schichtenarchitekturen und Clean Architecture (Hexagonal Architecture, Ports & Adapter)
- Einordnung ausgewählter Patterns in Domain-Driven Design (DDD) und modernen Frameworks
- Abgrenzung zu Architektur-, Integrations-, Cloud- und Distributed Patterns
Wechsel zwischen theoretischen Impulsen und praktischen Übungen. Die Übungen erfolgen einzeln und in Gruppen.
Ausgewählte Design Patterns werden anhand von praxisnahen Design- und Codebeispielen (Java) angewendet und im Plenum besprochen.
Dieser Kurs richtet sich an Softwareentwickler/innen und IT-Architekt/innen, die ihre Kenntnisse in Softwaredesign weiter vertiefen möchten.
Mindestanforderungen sind Kenntnisse im Umfang des folgenden Kurses: