Mein Repertoire an Vorträgen, Schulungen, Trainings und Workshops umfasst die Themenbereiche EventStorming, Domain-Driven Design, Software Craftsmanship und Funktionale Programmierung.
Sollten Sie Interesse an einem dieser Vorträge oder Workshops haben oder haben Sie eigene Wünsche in diesen Themengebieten, freue ich mich über Ihre Kontaktaufnahme.
Das zentrale und kennzeichnende Merkmal einer jeden Software ist ihre Domäne, also ihre Fachlichkeit. Daher ist es essentiell für den Erfolg des Projektes, diese während des gesamten Entwicklungsprozesses in den Mittelpunkt zu stellen.
Domain-Driven Design hat genau dies zum Ziel: Hier lernt das gesamte Team (einschließlich der Entwickler) von Anfang an gemeinsam alle relevanten Aspekte der Domäne (und damit der entstehenden Software) kennen. Eine gemeinsame Sprache von Fachbereich und Entwicklern bildet sich dabei fast schon von selbst heraus und wird stetig weiterentwickelt.
Das im Zuge des domänengetriebenen Designs enstandene Modell zeigt üblicherweise abgegrenzte Bereiche im entstehenden Softwaresystem auf, die für die Modularisierung des Codes genutzt werden können. Die Beziehungen zwischen diesen Modulen werden genauso betrachtet wie die Abläufe innerhalb eines Moduls. Zur Implementierung der Module bietet Domain-Driven Design eine Reihe von taktischen Patterns an, die je nach Bedarf zum Einsatz kommen können.
Im Kurs werden wir diese Stufen gemeinsam anhand eines größeren Beispiels durchlaufen und nach und nach ein detailliertes Domänenmodell entwickeln. Auch mögliche Vorgehensweisen bei der Implementierung werden wir beleuchten -- allerdings nur theoretisch, um den Rahmen des Kurses nicht zu sprengen.
Da nicht jedes Projekt auf der grünen Wiese beginnt, schauen wir uns zum Abschluss des Kurses noch an, wie wir mit bestehenden Codebasen umgehen können und welche Möglichkeiten es gibt, die Domäne aus existierendem (Legacy-)Code herauszuarbeiten und sichtbar zu machen.
Inhalt |
---|
|
Die zunehmende Leistungsfähigkeit von Browsern erlaubt es, mehr und mehr Applikationslogik ins Frontend zu verlagern. Diese sogenannten Single-Page-Apps ermöglichen eine deutlich kürzere Antwortzeit auf Benutzeraktionen, da die jeweiligen Berechnungen und Anzeigen auf dem Computer des Benutzers stattfinden und die Ladezeiten der Seiten über das Netzwerk wegfallen. In den letzten Jahren sind einige Frameworks für die Entwicklung von Single-Page-Applikationen entstanden und teilweise auch schon wieder in Vergessenheit geraten. React.js gehört zu den jüngeren Vertretern dieser Gattung und besticht vor allem durch seine Leichtgewichtigkeit, da es sich ganz gezielt auf die Benutzeroberfläche konzentriert. Genau genommen handelt es sich noch nicht einmal um ein Framework, sondern um eine Library, was dem Entwickler viel Freiraum lässt. Auch die technische Umsetzung von React.js, die eine deklarative Beschreibung der Webapplikation erlaubt und die quasi ohne die sonst allgegenwärtigen Events und Listener auskommt, sorgt für Leichtgewichtigkeit. Redux kümmert sich um die Verwaltung des Zustands und das Bearbeiten von Aktionen und ist ein perfekter Partner für React.js.
Der Workshop bietet eine Einführung in die Entwicklung (und im zweitägigen Workshop auch in das Testen) von Single-Page-Applikationen mit React.js und Redux.
Inhalt für 1 Tag | Inhalt für 2 Tage |
---|---|
|
|
Inhalt für 1 Tag | Inhalt für 2 Tage |
---|---|
|
|