16

What is the best way to start Domain Driven Design?

What are the recommended resources?

EDIT:

I mean, I'd like to know how to start learning DDD (the same way as to start TDD by reading K. Beck).

rafek
  • 5,464
  • 13
  • 58
  • 72

3 Answers3

14

There's a really big book available on domain driven design, which was brilliantly abridged and made available as a free download here:

http://www.infoq.com/minibooks/domain-driven-design-quickly

To start "doing" domain driven design, you just need to follow the points in this book. Share a language with the business, create objects that represent something that the business would recognise and so on.

It is more difficult to get in full swing on large existing applications (but not impossible) but if you are writing something new, that's a great opportunity to go at it 100%.

Fenton
  • 241,084
  • 71
  • 387
  • 401
  • I struggled a lot with DDD concepts but this mini-book (compared to other books on the matter!) really cleared out many of the vague points. Vote-up! – Nora Na Jan 09 '23 at 11:08
11

The definitive book on DDD is Domain-Driven Design: Tackling Complexity in the Heart of Software

However its a book that takes some gestation that is best backed up with practice and observing how experienced DDD'ers think.
The site http://domaindrivendesign.org/ has some excellent resources including example projects. I also find it useful to trawl the various open source code repositories such as GitHub, Codeplex and SourceForge for projects that use DDD

Good luck on your DDD journey, its a long road without a turn!

Paul
  • 2,543
  • 3
  • 26
  • 36
2

My personal advice is to forget the "DDD Quickly" book and go straight to the "Domain-Driven Design: Tackling Complexity in the Heart of Software" book from Eric Evans. I'd also suggest not to read the book in the original order, but to read the intro and then move to the Strategic Design section, and only then go back to the first part of the book. You'll discover that there's more to DDD than a collection of patterns.

However, after the book has been published there's been some evolution in the DDD community (have a look to this video as a refresher). A new pattern Domain Event has been published, and many alternative supporting architectures have been discussed: CQRS and Event Sourcing above all.

ZioBrando
  • 270
  • 1
  • 6