Wrox Programmer Forums
Go Back   Wrox Programmer Forums > C# and C > C# 2012/5.0 > BOOK: Patterns, Principles and Practices of Domain-Driven Design
BOOK: Patterns, Principles and Practices of Domain-Driven Design
This is the forum to discuss the Wrox book Patterns, Principles and Practices of Domain-Driven Design by Scott Millett; ISBN: 978-1-118-71470-6
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Patterns, Principles and Practices of Domain-Driven Design section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
Old March 12th, 2016, 06:15 AM
Registered User
Join Date: Mar 2016
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default How should I self-study "Patterns, Principles and Practices of Domain Driven Design"?

I have collected the book “Patterns, Principles and Practices of Domain Driven Design" written by Scott Millett. Now I would like to complete this book end to end as well deepening my knowledge of Domain Driven Design, CQRS, Event Sourcing. Should I read the entire book and attempt all the exercises? What else can I do?
Old March 21st, 2016, 02:16 PM
Wrox Author
Join Date: May 2015
Posts: 59
Thanks: 1
Thanked 5 Times in 5 Posts


I would highly recommend reading the book start to finish. At-least part 1 first to properly understand the philosophy of Domain-Driven Design.

Once you finish the book start focusing on language, and forget about code for now. Learn the language of the business. Understand where specific terminology applies (your bounded contexts). Start to then visual the system creating diagrams, using domain terminology (like names of bounded contexts). Create diagrams of key business rules, but do it with domain experts. Create a ubiquitous language (but call it a "business glossary") and get domain experts and stakeholders to work through it with you.

That's the collaborative aspect of DDD, and a bit strategic. Then move down to the strategic level creating more diagrams http://blog.ntcoding.com/2015/08/dom...-diagrams.html and validating them with domain experts. Try and do it collaboratively with your team to build a strong shared vision.

When working collaboratively and strategically, try and find out which are the core domains - what does this business to that distinguishes it from others. You may want to use a tool like the Business Model Canvas http://blog.ntcoding.com/2015/03/emp...nt-guided.html.

Once you've found the core domains, start modelling them in code. Try different models. Again, try this collaboratively with your colleagues, and try to talk domain experts through your model.

If you follow this advice you'll have a good practical knowledge of DDD - the collaborative, strategic and the tactical. Then keep practising iteratively, and try new exploratory techniques like event storming, impact mapping, and tactical patterns like CQRS and Event Sourcing.

Remember - focus on consistent language that is used to create a shared model in conversations, diagrams and code.

If you don't have a real problem domain to practice in, you can create a workshop. Create a fictitious scenario with functional and non-functional requirements. Ask some people to play domain experts, and the others have to work in teams and design a system. The output of the workshop could be some diagrams http://blog.ntcoding.com/2015/08/dom...-diagrams.html and a business glossary (ubiquitious language). Each team presents what they have learned about the domain and how their system will solve the business problem. Extra points for any team who focuses on the core domains and creates other visualisations like a business model canvas.

To make the workshop even more realistic your teams can be composed of a variety of skills: developers, QAs, product owners etc. If you do want to do a workshop but need some inspiration or example scenarios just give me a shout. I've run the workshop quite a few times and have some interesting scenarios that people really enjoy.


Last edited by nick_t; March 21st, 2016 at 02:34 PM..

Similar Threads
Thread Thread Starter Forum Replies Last Post
MSXSL gives error message for "for" inside "select" ilyaz XSLT 1 December 9th, 2010 05:02 PM
Difficulties with "web.config" and "ASPNETDB" CFRham BOOK: ASP.NET MVC Website Programming Problem Design Solution ISBN: 9780470410950 2 July 3rd, 2010 10:19 AM
How to theme the "Browse" button of "FileUpload" control? varunbwj BOOK: Beginning ASP.NET 3.5 : in C# and VB BOOK ISBN: 978-0-470-18759-3 2 October 14th, 2009 01:22 AM
Add a CheckBox DataColumn to my DataGridView, Null format: "" or "True" but Error: F ismailc C# 2005 0 September 25th, 2009 04:56 AM
The Myth of "Good Web Design is in the Graphics" iminore PHP Databases 0 March 9th, 2009 02:02 PM

Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.