ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Implementing Domain-Driven Design
Vaughn Vernon
Addison-Wesley (2013)
Ian Bruntlett
Appeared in:

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.