By using our website, you agree to the use of our cookies.
By using our website, you agree to the use of our cookies.

Programm Details

Donnerstag, 17.10.2019   |   17:00 - 17:45 Uhr   |    Do 3.5

Denotational Domain-Driven Design


Michael Sperber
Active Group GmbH
Geschäftsführer

Bei DDD orientiert sich der Code eng am Modell, um Erkenntnisse zur Domäne zu reflektieren. Die besten Modelle machen tiefe Einsichten in die Domäne sichtbar. Aber wie generieren wir tiefe Einsichten? Die Kombination von DDD und funktionaler Programmierung macht einen besonders effektiven Ansatz möglich, "Denotational Design": Wir entwickeln ein Modell als Code und betrachten dieses losgelöst von der Domäne. Dann erhöhen wir den Abstraktionsgrad durch Refaktorisierung und suchen nach mathematischen Eigenschaften, die erstaunliche - tiefe - Einsichten in die Domäne liefern. Diese wiederum erleichtern die Lösung komplexer Probleme in der Architektur. Der Prozess ist systematisch, nachvollziehbar und allgemein anwendbar. Der Vortrag führt in DDDD ein sowie die nötigen mathematischen Konzepte. (Keine Angst: Schulmathematik reicht als Voraussetzung.) Als Beispieldomänen dienen die Generierung von 2D-Bildern und der Halbleiterfabrikation.

Zielpublikum: Software-Architektinnen, Entwickler
Voraussetzungen: Grundkenntnisse in DDD
Schwierigkeitsgrad: Advanced

Extended Abstract:

Funktionale Programmiererinnen und Programmierer schwärmen oft von "Funktoren" oder "Monaden" - so manches Entwicklerleben geht vorüber, ohne dass diese Konzepte jemals eine Rolle gespielt hätten. Trotzdem sind sie enorm nützlich, weil sie universelle Eigenschaften von Domänenmodellen zum Ausdruck bringen. Wer gelernt hat, diese Eigenschaften zu erkennen, kann nicht nur neues Domänenwissen aus der Luft zaubern, sondern auch auf die reichhaltigen Libraries zurückgreifen, die funktionale Sprachen dafür bieten. Denotational Design (der Begriff wurde von Conal Elliott geprägt) ist ein Modellierungsansatz, der diese Konzepte konsequent einbindet. Die dazugehörigen Begrifflichkeiten sind zwar abstrakt, aber nicht komplex - und darum auch nicht so schwer zu erlernen, wie manche Unkenrufe behaupten. Der Nutzen an Erkenntnis und verbesserter Architektur macht Denotational Design macht Denotational Design auf jeden Fall lernenswert!