- Einführung in Designprinzipien
- Begriffsdefinition
- Geschichte und Entwicklung von Designprinzipien
- Warum Designprinzipien wichtig sind
- Prinzipien der Softwareentwicklung
- KISS-Prinzip (Keep it simple, stupid)
- DRY-Prinzip (Dont Repeat Yourself)
- YAGNI-Prinzip (You Aint Gonna Need It)
- Grundprinzipien des Designs
- Abstraktion
- Modularität
- Wiederverwendbarkeit
- SOLID-Prinzipien
- Single Responsibility Principle (SRP)
- Open-Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- Anwendungsbeispiele und Best Practices
- Entwurfsmuster
- Was sind Entwurfsmuster?
- Entwurfsprinzipien
- Kategorien von Entwurfsmustern (Erzeugungsmuster, Strukturmuster, Verhaltensmuster)
- Anwendungsbeispiele von Entwurfsmustern
- Best Practices und Risiken
- Architekturmuster
- Was sind Architekturmuster?
- Architekturprinzipien
- Kategorien von Architekturmuster (Schichtenarchitektur, Microservices-Architektur, Event-Driven-Architektur)
- Anwendungsbeispiele von Architekturmuster
- Best Practices und Risiken
- Best Practices für Designprinzipien
- Code-Smells und Refactoring
- Designprinzipien in der Praxis anwenden
- Designprinzipien in agilen Umgebungen
- Ausblick auf zukünftige Designprinzipien
- Erfolgsfaktoren und Risiken bei der Anwendung von Designprinzipien
- Praktische Übungen
- Anwendung von Designprinzipien und Entwurfsmustern in Gruppenarbeiten
- Code-Reviews und Refactoring von Beispielcode
- Diskussion von Lösungsansätzen und Erfahrungen
LernzieleZiel des Seminars ist es, den Teilnehmer/innen ein grundlegendes Verständnis von Designprinzipien und Architekturen in der Softwareentwicklung zu vermitteln. Dabei sollen sie lernen, wie sie robuste, wartbare, skalierbare und erweiterbare Software-Systeme entwerfen können, indem sie bewährte Praktiken und Methoden anwenden. Am Ende des Seminars sollten die Teilnehmer/innen in der Lage sein, die erlernten Konzepte in der Praxis anzuwenden und ihre eigenen Projekte mit einem höheren Maß an Qualität und Effizienz zu gestalten. Durch praktische Übungen und Diskussionen soll auch der Austausch unter den Teilnehmer/innen gefördert und der Blick über den eigenen Tellerrand hinaus erweitert werden.
ZielgruppenDer Teilnehmerkreis für das Seminar zu Designprinzipien und Architekturen in der Softwareentwicklung kann sehr breit sein. Es richtet sich in erster Linie an Software-Entwickler/innen und -Architekten, die ihre Fähigkeiten und Kenntnisse in diesem Bereich vertiefen möchten. Auch für technische Projektleiter/innen und Entscheidungsträger/innen in IT-Abteilungen kann das Seminar von Interesse sein, um ein Verständnis für die Prinzipien und Methoden zu entwickeln und ihre Teams besser zu führen. In der Regel sollten die Teilnehmer/innen bereits grundlegende Kenntnisse in der Softwareentwicklung mitbringen.