Clean Architecture mit Spring Boot
Schulung & Kurs

Einführung von Clean Architecture in Spring Boot Applikationen

Refactoring einer Spring Boot Applikation: von Spaghetti Code zu Clean Architecture: Drei Tage intensiver Refactoring-Kurs, in dem die interne Struktur einer schlecht wartbaren Spring Boot Applikation in ein zukunftssicheres und leicht anpassbares Design basierend auf Clean Architecture überführt wird.

Kurse für Teams:

Gerne führen wir zugeschnittene Kurse für euer Team durch - vor Ort, remote oder in unseren Kursräumen.

In-House Kurs Anfragen

Kursinhalt:


Spring Boot Applikationen folgen meistens einer MVC Struktur, wobei häufig Datenbank-Entitäten (z.B. Hibernate) via Repositories direkt in den Service übergeben werden und schlimmstenfalls gar via REST Controller an das Frontend zurückgesendet werden.

Wächst die Applikation, entstehen dadurch häufig schwer wartbare, verknotete Spaghetti Code Anwendungen, auch Big Ball of Mudd genannt.

Solcher Code verfügt typischerweise über wenig sinnvolle Abstraktionen, verlässt sich hauptsächlich auf primitive Datentypen, um die Domäne abzubilden und vermischt Präsentations-, Datenbank- und Businesslogik.

Austauschen von Abhängigkeiten, beispielsweise das Ersetzen einer Datenbanktechnologie mit einer anderen, sind dabei fast unmöglich, wodurch auch Testen nur schon auf Unit Test Ebene schwierig ist.

Das Resultat sind schwierig wartbare Software Systeme mit hoher Fehlerrate, langen Implementationszyklen und tiefer Entwickler- und Kundenzufriedenheit.

In den letzten Jahren haben sich Architekturmuster wie Ports & Adapters sowie deren Variation “Clean Architecture” zusammen mit Domain-Driven Design (DDD) als effektive Mittel herauskristallisiert, um so einer Entwicklung entgegenzuwirken. Allerdings muss man nicht von Anfang an Clean Architecture benutzt haben, um diese in eine Applikation integrieren zu können!

In diesem Kurs lernen Sie mit verschiedenen Refactoringtechniken effektiv komplizierte, schwer wartbare Spring Boot Applikationen schrittweise zu Clean Architecture mit klar aufgeteilten Verantwortlichkeiten zu migrieren, wobei die Applikation zu jeder Zeit auslieferbar bleibt.

Praktisch erprobte und bewährte Konzepte und Techniken aus den folgenden Themen:

- Wie man Clean Architecture effektiv in eine Spring Boot Applikation integriert.
- Ausgewählte Code Smells und wie diese die Code Qualität negativ beeinflussen können.
- Grundlegende und fortgeschrittene automatisierte und manuelle Refactoringtechniken, um diese Code Smells zu lösen und die Applikation schrittweise in Clean Architecture zu überführen
- Grundlagen von Ports & Adapters (Hexagonal Architecture) als Basis von Clean Architecture.
- Unterschiedliche Bestandteile der Clean Architecture und praktische Implementierungen davon.
- Unterschiedliche Überlegungen und Trade-Offs bzgl. Clean Architecture und wie diese das Zieldesign beeinflussen.
- Einbettung der Clean Architecture in Domain-Driven Design (DDD) und wie ausgewählte Konzepte aus DDD Clean Architecture weiter konkretisieren und verbessern können.


Disclaimer: Der effektive Kursinhalt kann, abhängig vom Trainer, Durchführung, Dauer und Konstellation der Teilnehmer:innen von obigen Angaben abweichen.

Ob wir es Schulung, Kurs, Workshop, Seminar oder Training nennen, wir möchten Teilnehmer/innen an ihrem Punkt abholen und mit dem nötigen praktischen Wissen ausstatten, damit sie die Technologie nach der Schulung direkt anwenden und eigenständig vertiefen können.

Ziel:

Du wirst nach diesem Kurs die Fähigkeiten haben, komplizierten Code innerhalb von Spring Boot Applikationen mittels automatisierter und manueller Refactoring-Techniken in eine Clean Architecture zu überführen. 
Dazu wirst Du auch unterschiedliche Mikro-Antipattern im Code benennen und identifizieren und diese effektiv auflösen können. 
Darüber hinaus hast du auch ein besseres Verständnis für ausgewählte Elemente aus DDD und kennst verschiedene Trade-offs, die es bei der Einführung von Clean Architecture zu beachten gibt.


Form:

Der Kurs ist in aufeinander aufbauende Module aufgeteilt. 
Der Hauptteil ist praktischen Übungen gewidmet, die überwiegend in kleineren Gruppen gelöst werden können (Pair oder Mob Programming). 
Je nach Interesse und Bedürfnis kann auf unterschiedliche Themen tiefer eingegangen und diskutiert werden.


Zielgruppe:

Java Software Engineers und/oder Architekten, welche am Besten bereits Erfahrung mit Spring Boot sammeln konnten. Allerdings können die gezeigten Prinzipien und Praktiken auf jedes andere Framework und jede andere Programmiersprache angewendet werden, z.B. C#.


Voraussetzungen:

Basiswissen in der Entwicklung mit Java und Spring Boot (unsicher? Kontaktiere Oliver Zihler oder Alina Liburkina).


Vorbereitung:

Java, Git, Maven, eigener Laptop mit IntelliJ oder Eclipse installiert. Jeder Teilnehmer erhält vor Kursstart einen Fragebogen und eine Installationsanleitung zugestellt. (Auf Anfrage, können vorbereite Kurslaptops bereitgestellt werden.)

In-House Kurs anfragen:

In-House Kurs Anfragen

Trage dich in die Warteliste ein für weitere öffentliche Kurs-Termine. Sobald wir genügend Personen auf der Warteliste haben, klären wir einen möglichst für alle passenden Termin ab und schalten einen neuen Termin auf. Falls du direkt mit zwei Kollegen oder Kolleginnen teilnehmen möchtest, können wir sogar direkt einen öffentlichen Kurs für euch planen.

Warteliste

(Falls ihr bereits mehr 3 Teilnehmer:innen oder mehr habt, klären wir mit euch direkt euren Wunschtermin ab und schreiben den Kurs aus.)

Share by: