Welcome to Domain-Driven Design (DDD)

This project contains definitions of DDD and fundamental concepts to reduce the learning curve and confusion.

DDD on a page
DDD on a page
DDD on a page

Getting started with DDD

DDD is not an all-or-nothing deal. You can apply the ideas from DDD as much or as little as you feel is beneficial to the project you’re working on.

For some projects you might just apply DDD to your discovery work, for other projects you might skip strategic DDD and just start by modelling in code with some lightweight visualization. Don’t feel pressured into over-applying DDD.

Here are some of the ways in which you can get started with learning DDD or applying it immediately to your current project.

  • Check out The DDD Starter Modelling Process if you want to see how DDD can be applied cohesively to different aspects of software development from discovery to strategic to tactical.
  • Get started with hands-on techniques using Visual Collaboration Tools, a free ebook containing workshop recipes for a number of collaborative DDD techniques including EventStorming, Domain Storytelling, Domain Quiz, and Context Mapping.
  • Read Eric Evans’ DDD Reference Guide which provides definitions for the traditional DDD patterns.
  • Take a look at Mathias Verraes’ article What is Domain-Driven Design?

Tags

Follow us

Read our latest news from Virtual DDD on any of these social networks!

Github Repositories

Domain-Driven Design Starter Modelling Process

Domain-Driven Design Starter Modelling Process

This process gives you a step-by-step guide for learning and practically applying each aspect of Domain-Driven Design (DDD) - from orienting around an organisation’s business model to coding a domain model. Using this process will guide you through each of the...

SATURN 2019 Workshop — Architecture Island

SATURN 2019 Workshop — Architecture Island

Dear <familiar_name_here>, Congratulations! You have been selected to establish a new colony on Architecture Island! Your skills in software design have made you a highly valued member of our crew. As a software architect, we imagine you'll want to bring a few...

EventStorming Glossary & Cheat sheet

EventStorming Glossary & Cheat sheet

EventStorming is the smartest approach to collaborate beyond silo boundaries. The power of EventStorming comes from a diverse multi-disciplined group of people who, together, have a lot of wisdom and knowledge. While it originally was invented for a workshop to model...