Domain-Driven Design kompakt

Das Buch ist eins der ersten deutschsprachigen zum Thema Domain-Driven Design. Es enthält wesentliche Informationen, kann aber aufgrund des kompakten Formats nicht bei jedem Detail in die Tiefe gehen.

In Pocket speichern vorlesen Druckansicht
Domain-Driven Design kompakt
Lesezeit: 4 Min.
Von
  • Michael Müller

Vaughn Vernon
Domain-Driven Design kompakt;

dpunkt, 2017
XVII + 139 Seiten, 30 Euro
ISBN 978-3-86490-439-4

Ein wesentliches Ziel des Domain-Driven Design ist es, Elemente der Anwendungsdomäne in ein Softwaremodell zu übertragen. Das geschieht unter Nutzung einer für diesen Bereich geltenden Universalsprache, die sowohl Fachmitarbeiter als auch Softwerker verstehen. Dabei steckt die Tücke im Detail, und es sind die richtigen Techniken, also das Verständnis für das Vorgehen erforderlich.

Neben Eric Evans, der den Begriff Domain-Driven Design geprägt hat, gehört auch Vaughn Vernon zu den bekannteren Autoren, die sich bereits mehrfach des Themas angenommen haben. Dabei handelt es sich um meist umfangreiche, englischsprachige Titel. Vernon hat nun ein kompaktes Buch geschrieben, das Carola Lilienthal und Henning Schwentner ins Deutsche übersetzt haben. Damit liegt eines der ersten deutschsprachigen Bücher zu diesem Thema vor.

Die Übersetzer haben die wichtigsten Fachbegriffe nicht nur ins Deutsche übertragen, sondern sie als direkt zugreifbares Glossar auf die Umschlaginnenseiten gedruckt. Im Weiteren stehen die Begriffe glücklicherweise im englischen Original. Zu Beginn jedes Kapitels ist zusätzlich in Klammern die Übersetzung zu finden. Das erscheint zu viel des Guten und hemmt leider den Lesefluss.

Um das Buch kompakt zu halten, kann Vernon oft nicht weit ausholen, sondern muss schnell zum Punkt kommen. Auf die Weise will er den Lesern das gebündelte Wissen in knapper Form bieten. Leider gibt es oftmals Lücken, die der Autor mit zahlreichen Verweisen auf seine ausführlicheren Bücher zum Thema füllt. Während das Vorgehen für diejenigen Leser ausreicht, die sich mit der Thematik bereits beschäftigt haben, dürfte es für Neulinge in den ersten Kapiteln des Buchs schwerer werden. Für sie heißt es: Tapfer weiterlesen, denn die Wissenslücken füllt das Buch nach und nach. Schließlich belohnt es die Leser am Ende mit einer kompakten Einführung in DDD.

Im ersten Kapitel erläutert Vernon den für DDD wichtigen Bounded Context und zeigt kurz die Unterschiede zwischen strategischem und taktischem Design auf. Ohne übergreifende Strategie keine Taktik – entsprechend widmet sich der Autor in den folgenden Kapiteln erst dem strategischen Design. Dabei geht es um die Abgrenzung einzelner Anwendungsdomänen und der Klärung von Begrifflichkeiten, woraus sich die Universalsprache des Projekts entwickelt, die auch allgegenwärtige Sprache heißt. Es kommt durchaus vor, dass ohne die Projektsprache Begriffe je nach Fachbereich eine andere Bedeutung haben.

Aus der Unterteilung von Domänen in Teilbereiche ergibt sich aus Sicht des Autors bereits die mögliche Architektur des Systems, insbesondere, wenn man Domain Events in nachrichtenbasierte Architekturen übersetzt. Um nicht bei einer theoretischen Abhandlung zu bleiben, modelliert Vernon die Scrum-Methodik als Domänenmodell. Daran zeigt er eine passende Aufteilung, die das Entstehen eines überfrachteten Modells ("Big Ball of Mud") verhindert.

Weiter geht es mit taktischem Design. Der Blick in einen abgegrenzten Kontext fördert die Aggregate zu Tage. Hier gibt Vernon Hinweise, wie diese zu bestimmen sind, damit es weder zu Überfrachtung noch zu Inhaltslosigkeit kommt. Damit ist eine Ebene erreicht, die Entwickler recht schnell in Klassen und deren Kommunikation übersetzen können. Dabei führt der Autor die Fallstudie Scrum fort.

Zum Schluss gibt es ein Kapitel zu Beschleunigungs- und Managementtechniken. Angefangen beim Event Storming, bei dem das Team mit Klebezetteln auf großen Flächen arbeitet, über Zeitschätzung und Management im agilen Umfeld bis hin zum Timeboxing zeigt Vernon Techniken auf, die zu einem schnelleren Projekterfolg führen sollen.

Anschaulich mit zahlreichen Grafiken untermalt führt der Autor seine Leser schnell und – nach dem Füllen der anfängliche Wissenslücken – recht verständlich in das Thema DDD ein. Freilich kann ein kompaktes Buch nicht allzu sehr in die Tiefe gehen. Um einen ersten Eindruck für die Entscheidung zu bekommen, ob DDD für die eigenen Projekte der richtige Weg ist, eignet es sich trotz aller Kritikpunkte äußerst gut.

Michael Müller
ist als Bereichsleiter Softwareentwicklung der InEK GmbH verantwortlich für Projekte im Web-, Java- und .NET-Umfeld. Daneben betätigt er sich als freier Autor und verfasst Fachartikel zu diversen Entwicklungsthemen sowie Buchrezensionen.

(Der dpunkt.verlag gehört zur Heise Gruppe, die auch heise Developer herausgibt; Anm. d. Red.) (rme)