Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > C# and C > C# 2012/5.0 > BOOK: Patterns, Principles and Practices of Domain-Driven Design
Password Reminder
Register
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
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 tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old March 12th, 2016, 06:15 AM
Registered User
Points: 5, Level: 1
Points: 5, Level: 1 Points: 5, Level: 1 Points: 5, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
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?
Reply With Quote
  #2 (permalink)  
Old March 21st, 2016, 02:16 PM
Wrox Author
Points: 237, Level: 4
Points: 237, Level: 4 Points: 237, Level: 4 Points: 237, Level: 4
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: May 2015
Posts: 59
Thanks: 1
Thanked 5 Times in 5 Posts
Default

Hi,

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.

Enjoy

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


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


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



All times are GMT -4. The time now is 10:15 AM.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.