Implementing Domain-Driven Design
Eric’s Domain-Driven Design (DDD) book is unfortunately not seen enough on software engineers desks. Hopefully, Implementing Domain-Driven Design will increase the usage of DDD. Having started to read the book on the last flight, I think Vaughn makes a number of comments in the early pages that are spot on. Specifically:
“General abandonment of good design and development practices in the Java community” (page xxvii)
“Scrum and other agile techniques are being used as a substitute for careful modelling, where a product backlog is thrust at developers as if it serves as a set of designs” (page xxvii)
“A good portion of our industry is made up of sample code followers, which isnt bad as long as the samples are quality ones” – unfortunately a lot of samples focus on demonstrating API’s, ignoring good design principles. (page 14)
Finally, as is often the case, the small details make a big difference. An ubiquitous Language offers many advantages, one being the ability to demonstrate the code to domain experts to ensure that the tests are adhering to the ubiquitous language based on the current meaning.