Episode 59: Domain-driven Design (DDD)

Gernot Starke, Carola Lilienthal und Eberhard Wolff beschäftigen sich in dieser Episode des SoftwareArchitekTOUR-Podcast mit Domain-driven Design (DDD).

SoftwareArchitekTOUR  –  1 Kommentare

Domain-driven Design (DDD) ist ein sehr wichtiger und lange bewährter Ansatz für den Entwurf von Software, der für flexible und langlebige Systeme entscheidende Vorteile bietet. Gernot Starke, Carola Lilienthal und Eberhard Wolff diskutieren die Grundlagen von DDD. Es basiert auf der Trennung von Fachlichkeit und technischen Belangen im Code und eignet sich für den Entwurf fachlich komplexer Systeme. Kern bildet dabei die Ubiquitous Language (allgegenwärtige Sprache), die sowohl im Code als auch in der Kommunikation mit Kunden, Fachbereichen und sonstigen Beteiligten Verwendung findet.

Anhand einiger Bücher kann man die Historie von DDD gut nachvollziehen. Schließlich geht es um die Bereiche Tactical Design und Strategic Design. Die Episode endet mit einer Diskussion von Bounded Context (begrenzten Kontext), der wesentlichen Grundlage von Strategic Design (“Entwurf-im-Großen”).

Zum Thema DDD gibt es in der nächsten Zeit auf jeden Fall eine weitere Folge im SoftwareArchitekTOUR-Podcast.

Bücher zu Domain-Driven Design


  • Eric Evans; Domain-Driven Design: Tackling Complexity in the Heart of Software; Addison-Wesley 2004
    • Die Grundlage für DDD
    • 528 Seiten
    • großartiger Inhalt, teilweise schwer lesbar
  • Eric Evans; Domain-Driven Design Referenz, 2015
    • enthält Erweiterungen gegenüber dem ursprünglichen Buch, z.B. Domain-Events
    • alle Patterns in Kurzform beschrieben, ohne Beispiele
    • dadurch sehr kompakt
    • kostenlos unter ddd-referenz.de (deutsch) oder domainlanguage.com/ddd/reference/ (englisch)
  • Vaughn Vernon; Implementing Domain-Driven Design; Addison-Wesley 2013
    • umfangreiche Code-Beispiele
  • Vaughn Vernon; Domain-Driven Design Distilled; Addison-Wesley 2016 / Domain-Driven Design kompakt, dpunkt.verlag 2017
    • kompakte Einführung
    • Fokus auf strategischem Design, also grobgranularem Entwurf
  • Scott Wlaschin; Domain Modeling made Functional, Pragmatic Programmers 2017
    • Die ersten 50 Seiten enthalten eine kompakte, pragmatische und gut lesbare Einführung in die wesentlichen DDD-Konzepte, völlig technologieneutral.
    • Anschließend geht es um die Umsetzung mit der funktionalen Sprache F#