Wed, Nov 19 · 6:30 PM CET
Das 46. JUG Bonn Treffen findet am 19. November statt.
Es handelt sich um eine reine Offline-Veranstaltung. Die Teilnahme ist kostenfrei — wir bedanken uns bei der Cronn GmbH für das Sponsoring der Location und der Verpflegung.
18:30 - Einlass
19:00 Talk #1: Taktisches DDD pragmatisch und wirkungsvoll umsetzen
20:00 Talk #2: Java Valhalla / Value Objects
21:15 - Diskussion & Networking
22:00 - Ende
Wenn Modell und Code auseinanderdriften – Taktisches DDD pragmatisch und wirkungsvoll umsetzen
In der Theorie klingt Domain-Driven Design (DDD) oft sauber und überzeugend – doch in der Praxis entwickelt sich zwischen dem fachlichen Modell und dem tatsächlichen Code oft eine Lücke: der Model Code Gap. Dieser Vortrag zeigt, wie sich diese Abbildungslücken und andere Probleme beim praktischen Einsatz von taktischem DDD vermeiden lassen. Nach einer kurzen Einordnung zwischen Strategic DDD und taktischer Modellierung geht es um domänen-isolierende Architekturstile, die überhaupt erst die Grundlage für saubere Modelle schaffen, ohne dass Technologien unerwünschte Einflüsse auf das Modell nehmen. Im Zentrum stehen dann die klassischen Building Blocks: Aggregates, Repositories, Domain- und Application-Services, Commands, Queries und Domain Events. Anhand konkreter Beispiele und Lessons Learned aus der Praxis werden Stolperfallen, Anti-Patterns und sinnvolle Leitplanken aufgezeigt. Der Fokus liegt dabei auf der Frage: Wie können wir Code schreiben, der der Domäne wirklich gerecht wird? Wie vermitteln wir modellbasiertes Denken im Team, insbesondere auch an weniger erfahrene Entwickler:innen? Und wo lohnt sich Pragmatismus mehr als konzeptionelle Reinheit? Ideal für alle, die DDD schon kennen, aber mit der Umsetzung kämpfen – und für alle, die ihre Modelle lebendig halten wollen.
Speaker: Mario Herb
Mario Herb ist Partner bei der esentri AG. Er ist in seinen Projekten häufig in der Rolle als Software- bzw. übergreifender Lösungsarchitekt unterwegs. Er interessiert sich besonders für DDD, Innovationsthemen und das Zusammenspiel von Mensch und Technik bei der Gestaltung von Lösungen für Geschäftsanwendungen.
Value Objects - das nächste große Ding in Java
Einer der großen Pluspunkte von Java war und ist das statische, starke Typsystem. Das hilft Millionen von Entwicklern, viele Fehler bereits zur Compilezeit zu entdecken und macht die Entwicklung robuster sowie effizienter. Allerdings schleppt Java mit der Unterscheidung zwischen primitiven und Referenztypen von Beginn an eine schwere Bürde mit sich. Die vor etwa 30 Jahren aus Performancegründen eingeführten primitiven Datentypen integrieren sich nicht gut mit modernen Ansätze wie Generics, Stream API oder Pattern Matching. Die Value Objects werden Abhilfe schaffen und die Vorteile beider Welten kombinieren. Damit können wir in Zukunft unveränderbare Datentypen (Zustand und Verhalten, aber ohne eigene Identität) entwerfen, die sich wie primitive Datentypen verhalten. Das steigert nicht nur die Performance und senkt den Speicherverbrauch, es erhöht auch die Les- und Wartbarkeit, da wir dann viel einfacher ausdrucksstarke und trotzdem performante Typen nach den Ideen von DDD selbst definieren können. Schon seit etwa 10 Jahren wird im Rahmen vom Projekt Valhalla an dieser großen Änderung des Java Typsystems gearbeitet. Daran hängen einige komplexe Fragestellungen, wie z. B. der Umgang mit Default-Werten sowie null-Values, der Umbau der Wrapper-Typen und die Verwendung als generische Typisierung. Im Sommer 2024 hat Java Language Architekt Brian Goetz verkündet, dass nach der langen Zeit der Durchbruch in der Umsetzung erreicht ist. Darum wollen wir gemeinsam schauen, wie Value Classes, Null-Restricted und Nullable Types sowie erweitertes Primitive Boxing die Art und Weise verändern, wie wir in Zukunft programmieren werden.
Speaker: Falk Sippach
Falk Sippach ist bei der embarc Software Consulting GmbH als Softwarearchitekt, Berater und Trainer stets auf der Suche nach dem Funken Leidenschaft, den er bei seinen Teilnehmern, Kunden und Kollegen entfachen kann. Bereits seit 20 Jahren unterstützt er in meist agilen Softwareentwicklungsprojekten im Java-Umfeld. Als aktiver Bestandteil der Community (Mitorganisator der JUG Darmstadt und Mitglied der Java Champions) teilt er zudem sein Wissen gern in Artikeln, Blog-Beiträgen, sowie bei Vorträgen auf Konferenzen oder User Group Treffen und unterstützt bei der Organisation diverser Fachveranstaltungen.