REVIEW - Implementing Domain-Driven Design


Title:

Implementing Domain-Driven Design

Author:

Vaughn Vernon

Publisher:

Addison-Wesley (2013)

Pages:

656pp

Reviewer:

Ian Bruntlett

Reviewed:

April 2014

Rating:

★★★★★


Reviewed: July 2013

Highly recommended.

This book builds on the prior work, Domain-Driven Design : Tackling the Complexity in the Heart of Software (Eric Evans,2004). Eric Evans introduced the idea of ‘Ubiquitous Language’. The ‘Ubiquitous Language’ is something that different stakeholders in a development project can communally agree on.

This book’s examples are samples written in Java or C#. There is plenty of discussion about design or implementation techniques, especially leaning upon the samples based on a Java based multi-threading, multi-user, networked system. It discusses different strategies, including their relative strengths and weaknesses.

When discussing the DDD, the role of a Ubiquitous Language is introduced. A business is defined by its purpose – this becomes its core domain. Lesser domains are 1) supporting sub-domains (business specific things) and 2) generic sub-domains (things that can be bought in or provided by other development teams. It discusses different architectures – I must confess I hadn’t heard of the Hexagon architecture (aka Ports and Adapters) and really like it.

From a personal point of view, I particularly really like these concepts introduced by this book. A lot of the book makes sense from some C++ Builder/SQL systems I once developed. I particularly like the way the book’s concepts can help you avoid building systems that are a big ball of mud or a data silo.

This is an excellent book if you need its advice. It could do with a glossary though – I improvised by referencing Wikipedia for unfamiliar terms. It does have a useful bibliography with references to many papers on the Internet.


Book cover image courtesy of Open Library.





Your Privacy

By clicking "Accept All Cookies" you agree ACCU can store cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.