Funktionales Domain-driven Design
Funktionale Sprachen sind ideal geeignet, um Domain-driven Design umzusetzen. Wir zeigen, wie die wichtigsten taktischen Elemente von DDD (Entitäten, Wertobjekte, Aggregate, …) in funktionalen Sprachen umgesetzt werden und von diesen profitieren. Das funktionale Programmierparadigma unterstützt DDD durch seine erweiterten Abstraktionsmöglichkeiten und Typsysteme in besonderem Maße und führt gegenüber den üblichen OO-Sprachen zu lesbarerem und leichter wartbarem Code. Natürlich bieten funktionale Sprachen auch eine hervorragende Unterstützung zur Modularisierung des Codes auf der Makroebene (Stichwort “Bounded Contexts”). Auch darüber geben wir einen Überblick.
Wir werden für die Code-Beispiele die funktionale Sprache Haskell verwenden – für Haskell-Neulinge führen wir am Anfang in die für den Workshop relevanten Teile ein.