Der Anhang hat mich mit dem Buch versöhnt. Das Kapitel „Aggregates and Event-Sourcing“, das scheinbar nur ein Anhang geworden ist, weil es ein Kapitel eines anderen Autors ist, war nach meinem Empfinden deutlich einfacher zu verstehen und las sich flüssiger. Ob es am Thema lag und daran, dass C# statt Java verwendet wurde, mag ich nicht zu sagen. Für meinen Geschmack waren die Beispiele und auch die Abbildungen deutlich besser in den Text integriert als im Rest des Buches.

Zurück zum Anfang: Das Buch Implementing Domain-Driven Design (DDD) habe ich als „leichteren Einstieg“ als das „blaue Buch“ von Eric Evans wahrgenommen. Zu DDD habe ich schon einiges gelesen und habe gehofft ein umfassenderes Bild zu bekommen, um es in der Praxis in nächster Zeit mal auszuprobieren. Den Zweck hat das Buch glaube ich erfüllt. Allerdings fühlte es sich mehr nach Arbeit als nach Lernen an. Letzteres macht mir in der Regel Spaß. Anstrengend fand ich bisweilen die quasireligiöse Verehrung des Blauen Buchs in einigen Stellen in diesem Buch. Natürlich ist es wichtig seine Quellen anzugeben, aber nur weil etwas im Blauen Buch steht, heißt das ja nicht, dass es deshalb zwingend so sein muss. Aber mit diesem Umstand ist der Autor nicht allein, die Überbetonung von Eric Evans und dem blauen Buch scheint mir ein generelles DDD-Thema zu sein. Eventuell muss ich aber auch nur an meiner Wahrnehmung arbeiten (da, der erste Schritt zum Bekehrten Evans-Jünger ist gemacht).

Das Buch lässt sich in zwei Teile einteilen: In den Kapiteln 1 bis 4 wird das Thema motiviert und die großen Themen (Domains, Bounded Contexts, Context Maps und Architektur) vorgestellt. Danach geht es Buttom-Up bei den Entities los, bis im letzten, regulären 14. Kapitel ein vollständiges Beispiel Umsetzungsbeispiel gezeigt wurde. Das hätte ich mir etwas früher gewünscht, um die anderen Themen gedanklich besser einordnen zu können und damit den Lernstoff besser verdaubar zu machen.

Gelernt habe ich in dem Buch jedenfalls den Unterschied und das Zusammenspiel von Entities und Aggregates. Das war mir vorher nicht so klar und laut Buch auch eines der am schwersten zu verstehenden Themen.

Den Code zum Buch gibt es in Auszügen auf Vaughn Vernons Github Seite. Warum man den Link trotz des offensichtlichen Erfolgs nicht in eine – und sei es auch nur leicht überarbeitete Version des Buchs schreibt – ist mir auch nicht klar.