Wachsende Anwendungen benötigen mehr als korrekt annotierte Funktionen. Im Mittelpunkt steht eine Struktur, in der fachliche Regeln unabhängig von HTTP, Datenbank und Benutzeroberfläche nachvollziehbar bleiben. Ein bestehender Buchungsdienst wird schrittweise in klar abgegrenzte Module überführt. Dabei werden die Folgen jeder Entwurfsentscheidung für Änderbarkeit, Fehlersuche und Tests untersucht.
Das Seminar verbindet strukturelle Typisierung mit Domain Modeling und einer pragmatischen Anwendung von Ports und Adaptern. Interfaces werden dort eingesetzt, wo sie tatsächlich Verträge ausdrücken. Klassen, reine Funktionen und unveränderliche Daten werden nach ihrem konkreten Nutzen ausgewählt. Ein Architekturreview prüft, ob die vereinbarten Grenzen auch bei einer späteren Erweiterung erhalten bleiben.
Lernziele
- Fachliche Zustände und Invarianten mit aussagekräftigen Typen modellieren.
- Modulgrenzen, öffentliche APIs und Abhängigkeitsrichtungen begründet festlegen.
- Infrastruktur über Ports, Adapter und explizite Komposition anbinden.
- Technische Fehler und fachliche Ablehnungen konsistent behandeln.
- Architekturregeln durch Tests und automatisierte Importkontrollen absichern.
Zielgruppe
Erfahrene TypeScript-Entwickler, Softwarearchitekten und technische Teamleiter mit Verantwortung für größere Anwendungen.
Voraussetzungen
Sichere TypeScript-Grundlagen einschließlich Union Types, Narrowing, Generics und ES-Modulen; Erfahrung mit automatisierten Tests. Empfohlen: Grundlagen und Sprachpraxis sowie Fortgeschrittenes Typsystem und Generics.
Inhaltsübersicht
- Fachliche Modelle und Invarianten
- Module und Abhängigkeiten
- Verträge, Fehler und Adapter
- Refactoring und Architekturprüfung
Seminarinhalte
Fachliche Modelle und Invarianten
- Anwendungsfälle, Zustände und Verantwortlichkeiten aus einem Buchungsprozess ableiten.
- Value Objects, validierende Fabrikfunktionen und markierte Typen für fachliche Kennungen entwerfen.
- Zulässige Zustandsübergänge als diskriminierte Vereinigungen und explizite Operationen ausdrücken.
- Grenzen rein statischer Garantien und erforderliche Laufzeitprüfungen dokumentieren.
Module und Abhängigkeiten
- Fachmodule anhand von Änderungsgründen und Datenverantwortung schneiden.
- Öffentliche Exporte begrenzen und zyklische Abhängigkeiten erkennen.
- Reine Geschäftslogik von I/O und Framework-Lebenszyklen trennen.
- Dependency Injection über Konstruktoren oder Funktionsparameter und einen Composition Root umsetzen.
Verträge, Fehler und Adapter
- Ports für Persistenz, Zeit und externe Dienste mit kleinen Verträgen definieren.
- Ergebnisobjekte und Exceptions nach Fehlerart und Aufrufgrenze einsetzen.
- Transaktionsgrenzen, Nebenläufigkeit und Wiederholbarkeit fachlich einordnen.
- Einen vorhandenen Infrastrukturadapter austauschen, ohne das Domänenmodell anzupassen.
Refactoring und Architekturprüfung
- Verhaltenssichernde Tests vor dem Umbau eines gekoppelten Moduls ergänzen.
- Refactoring in kleine, kompilierbare und überprüfbare Schritte zerlegen.
- Unerlaubte Importe und unbeabsichtigte öffentliche Exporte automatisiert erkennen.
- Eine neue Geschäftsregel implementieren und den Entwurf anhand des Änderungsumfangs bewerten.
Praxisprojekt
Die praktische Arbeit folgt einer zusammenhängenden Aufgabenstellung. Die folgenden Schritte werden anhand vorbereiteter Ausgangsstände umgesetzt und mit überprüfbaren Zwischenständen verbunden.
- Den vorbereiteten Buchungsdienst ausführen, bestehende Tests prüfen und Abhängigkeiten aufnehmen.
- Buchungsstatus und Kennungen modellieren; ungültige Zustände durch gezielte Gegenbeispiele sichtbar machen.
- Persistenz- und Zeitabhängigkeiten über Ports aus der Geschäftslogik herauslösen.
- Einen In-Memory-Adapter ergänzen und die Geschäftsregeln ohne Datenbank testen.
- Eine Stornierungsregel einbauen und automatisierte Kontrollen für die Modulgrenzen ausführen.
- Die Änderungen anhand von Fehlerverträgen, Kopplung und Testbarkeit im Code-Review beurteilen.
Schulungsumgebung
Vorbereitetes TypeScript-Projekt mit Tests, lokalem Repository und austauschbaren Infrastrukturadaptern. Die Übungen benötigen keine produktiven Zugänge.
Die Schulungsumgebung wird vom Kunden nach der vorab abgestimmten technischen Checkliste bereitgestellt. Benötigte Installationsrechte, Werkzeuge und Übungsstände werden vor Seminarbeginn geprüft.
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
|---|---|
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Erfahrene TypeScript-Entwickler, Softwarearchitekten und technische Teamleiter mit Verantwortung für größere Anwendungen. |
| Voraussetzungen: | Sichere TypeScript-Grundlagen einschließlich Union Types, Narrowing, Generics und ES-Modulen; Erfahrung mit automatisierten Tests. Empfohlen: Grundlagen und Sprachpraxis sowie Fortgeschrittenes Typsystem und Generics. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
