- Nummer
- depa
- Leitung
- -
- ECTS
- 3.0
- Anspruchsniveau
- intermediate
- Inhaltsübersicht
Entwurfsmuster (Design Patterns) sind bewährte Lösungen für wiederkehrende Entwurfsprobleme in der objektorientierten Softwareentwicklung. Sie fassen Designwissen in kompakter und wiederverwendbarer Form zusammen und etablieren ein gemeinsames Vokabular zur Diskussion und Dokumentation von Softwarestrukturen.
Im Kontext moderner KI-gestützter Softwareentwicklung bleiben Entwurfsmuster zentral: KI erzeugt schnell funktionierenden Code, berücksichtigt jedoch nicht immer Architektur, Wartbarkeit und Erweiterbarkeit. Entwurfsmuster helfen, diese Qualität gezielt sicherzustellen.
Zudem ermöglichen Entwurfsmuster eine präzisere Interaktion mit KI-Systemen und unterstützen das Refactoring von generiertem Code durch klare Strukturierungsprinzipien.
In diesem Modul werden häufig verwendete Entwurfsmuster vorgestellt, diskutiert und anhand von Beispielen illustriert, häufig mit Beispielen aus den Java Bibliotheken. Es wird auch gezeigt, wie Sprachmerkmale von Java die Umsetzung von Entwurfsmustern unterstützen können.
Folgende Entwurfsmuster werden behandelt:
- Observer
- State
- Strategy
- Composite
- Prototype
- Decorator
- Command
- Factory / Dependency Injection
Darüber hinaus werden grundlegende objektorientierte Entwurfsprinzipien diskutiert (z.B. SOLID oder Komposition vs. Vererbung), welche die Basis der meisten Entwurfsmuster bilden und eine zentrale Rolle bei der Bewertung und Verbesserung von KI-generiertem Code spielen. Die Entwurfsmuster werden in einer über alle Übungen hinweg laufenden Fallstudie angewendet.
- Lernziele
Die Studierenden
- kennen die wichtigsten objektorientierten Entwurfsmuster,
- können diese Muster anwenden, um wiederkehrende Designprobleme zu lösen,
- können Entwurfsentscheidungen mit Hilfe etablierter Musternamen kommunizieren,
- erkennen die Verwendung von Entwurfsmuster in einem gegebenen Design,
- können bestehende Implementierungen kritisch analysieren und gegebenenfalls in Richtung geeigneter Muster refaktorisieren, und
- sind in der Lage, Entwurfsmuster als präzises Vokabular in der Interaktion mit KI-Systemen zu verwenden.
- Empfohlene Vorkenntnisse
Studienjahrgang HS 2025 oder später:
- Programmieren 2 (prog2)
Studienjahrgang FS 2025 oder früher:
- Objektorientierte Programmierung 2 (oopI2)
- Leistungsbewertung
- Erfahrungsnote