Domain-Driven Design
(Ultra)Distilled
NICOLA COSTANTINO
Domain-Driven
Design
(DDD)
-
What
• IS..
• a toolbox (set of pattern) of the best
software modeling tools available, to assist in
design and implementation of software that
delivers high value – both strategically and
tactically
• MEANS…
• learning through the team communication
for building a model based on an Ubiquitous
language
• Making competitively best software design
choices and integration decision for the
business
Domain-Driven
Design
(DDD)
-
Why
• TO IMPLEMENT SOFTWARE
THAT
• correctly models
business’ needs
• performs at a scale using
most advanced
techniques
Stop
u “Task board shuffle”
u Scrum if for knowledge acquisition, not
time control
u Chasm between business’ and
developers’ mental models
u Wrong abstractions
Start
u Thoughtful design
u Effective design
u Strictly modeled around business’
needs
u It will evolve naturally with the business
because it has been created to be
adherent to the business itself
“
”
Questions about whether design is
necessary or affordable are quite beside
the point: design is inevitable. The
alternative to good design is bad design,
not no design at all.
DOUGLAS MARTIN, 1989
Design is inevitable: the alternative to good design is bad design, not no design at all!
Ubiquitous
Language
uCreate a common,
rigorous language
between developers
and users.
Event Storming
u ”Rapid design technique to engage
both Domain Experts and Developers
in a fast-paced learning process.”
u Focused on the business and business
process rather than on nouns and
data.
Domain Driven Design (Ultra) Distilled
Event Storming
uDifferent colors for each component
uDifferent shapes for each context
Domain Driven Design (Ultra) Distilled
Context Mapping
INTEGRATION BETWEEN THE CORE DOMAIN AND OTHER BOUNDED CONTEXTS
Domain Driven Design (Ultra) Distilled
Context
Mapping
u Partnership
u 2 teams working on 2 bounded contexts have aligned and dependent set of goals
u Shared kernel
u 2 or more bounded contexts can share a common model
u Customer supplier
u 2 bounded contexts into an upstream and downstream, where the upstream is the supplier, and has to try and meet the
expectations of the customer (downstream)
u Conformist
u 2 bounded context, the upstream has no interest in supporting the downstream for whatever reason. The downstream
must conform to whatever the upstream provides
u Anticorruption Layer
u the downstream bounded context implements a layer between itself and the upstream
u Open Host Service (OHS) / Published Language (PL)
u Protocol or interface that gives access to the Bounded Context as a set of services
u Published Language
u Well-documented information exchange language enabling simple consumption and translation by any number of
Bounded Context
u Separate Ways
u Situation where integration with one or more Bounded Context will not produce significant payoffs through the
consumption of various Ubiquitous Languages
u Big Ball of Mud
u software system that lacks a perceivable architecture

More Related Content

PPTX
Domain Driven Design
PPTX
Domain Driven Design: Zero to Hero
PPTX
Domain Driven Design
PPTX
Domain Driven Design(DDD) Presentation
PPTX
Domain Driven Design 101
PPT
Domain Driven Design (DDD)
PPT
Domain Driven Design Demonstrated
PDF
Domain Driven Design
Domain Driven Design
Domain Driven Design: Zero to Hero
Domain Driven Design
Domain Driven Design(DDD) Presentation
Domain Driven Design 101
Domain Driven Design (DDD)
Domain Driven Design Demonstrated
Domain Driven Design

What's hot (20)

PDF
Modelling a complex domain with Domain-Driven Design
PDF
Domain driven design and model driven development
PPTX
Domain Driven Design
PPTX
Domain-Driven Design
PPTX
Domain Driven Design - Strategic Patterns and Microservices
PPTX
Domain driven design
PPTX
Introduction to DDD
PPTX
A Practical Guide to Domain Driven Design: Presentation Slides
PDF
Domain Driven Design
PDF
Clean Architecture
PPTX
Domain Driven Design Introduction
PDF
Hexagonal Architecture.pdf
PPTX
Domain Driven Design
PPTX
Domain Driven Design
PPTX
Domain driven design
PPTX
Clean architecture
PPTX
Domain driven design
PPTX
Domain Driven Design Quickly
PPTX
Applying Domain-Driven Design to craft Rich Domain Models
PPTX
Brownfield Domain Driven Design
Modelling a complex domain with Domain-Driven Design
Domain driven design and model driven development
Domain Driven Design
Domain-Driven Design
Domain Driven Design - Strategic Patterns and Microservices
Domain driven design
Introduction to DDD
A Practical Guide to Domain Driven Design: Presentation Slides
Domain Driven Design
Clean Architecture
Domain Driven Design Introduction
Hexagonal Architecture.pdf
Domain Driven Design
Domain Driven Design
Domain driven design
Clean architecture
Domain driven design
Domain Driven Design Quickly
Applying Domain-Driven Design to craft Rich Domain Models
Brownfield Domain Driven Design
Ad

Similar to Domain Driven Design (Ultra) Distilled (20)

PDF
Domain Drive Design: A Very Short Introduction for Business People
PPS
Usability evaluation of Domain-Specific Languages
PDF
Domain-Driven Design (Artur Trosin Product Stream)
PPTX
Finding balance of DDD while your application grows
PPTX
Domain specific modelling (DSM)
PDF
SOAT Agile Day 2017 DDD
PDF
Introduction to Domain-Driven Design
PPT
Optimize the Globalization Process with Cloudwords
PPTX
Domain driven design simplified
PDF
Excavating the knowledge of our ancestors
PDF
Domain Driven Design Big Picture Strategic Patterns
PPTX
Mastering Sentiment Analysis with Large Language Models.pptx
PPTX
Domain Driven Design
PDF
Domain Driven Design: Made Easy employing Systemic Approach
PPTX
DDD In Agile
PDF
Domain-Driven Design: From strategic business goals to software implementation
PDF
Domain Driven Design
PDF
Adopting Domain-Driven Design in your organization
PPTX
DOMAIN DRIVER DESIGN
PPT
coding is the .pptx
Domain Drive Design: A Very Short Introduction for Business People
Usability evaluation of Domain-Specific Languages
Domain-Driven Design (Artur Trosin Product Stream)
Finding balance of DDD while your application grows
Domain specific modelling (DSM)
SOAT Agile Day 2017 DDD
Introduction to Domain-Driven Design
Optimize the Globalization Process with Cloudwords
Domain driven design simplified
Excavating the knowledge of our ancestors
Domain Driven Design Big Picture Strategic Patterns
Mastering Sentiment Analysis with Large Language Models.pptx
Domain Driven Design
Domain Driven Design: Made Easy employing Systemic Approach
DDD In Agile
Domain-Driven Design: From strategic business goals to software implementation
Domain Driven Design
Adopting Domain-Driven Design in your organization
DOMAIN DRIVER DESIGN
coding is the .pptx
Ad

Recently uploaded (20)

PDF
infoteam HELLAS company profile 2025 presentation
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
PPTX
HackYourBrain__UtrechtJUG__11092025.pptx
PPT
3.Software Design for software engineering
PPTX
ROI Analysis for Newspaper Industry with Odoo ERP
PPTX
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
PPTX
Human-Computer Interaction for Lecture 2
PDF
CapCut PRO for PC Crack New Download (Fully Activated 2025)
PPTX
Foundations of Marketo Engage: Nurturing
PDF
Cloud Native Aachen Meetup - Aug 21, 2025
PPTX
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
PDF
Practical Indispensable Project Management Tips for Delivering Successful Exp...
PDF
AI-Powered Fuzz Testing: The Future of QA
PPTX
Plex Media Server 1.28.2.6151 With Crac5 2022 Free .
PPTX
R-Studio Crack Free Download 2025 Latest
PPTX
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
PPTX
string python Python Strings: Literals, Slicing, Methods, Formatting, and Pra...
PPTX
Streamlining Project Management in the AV Industry with D-Tools for Zoho CRM ...
PPTX
How to Odoo 19 Installation on Ubuntu - CandidRoot
PPTX
Viber For Windows 25.7.1 Crack + Serial Keygen
infoteam HELLAS company profile 2025 presentation
Understanding the Need for Systemic Change in Open Source Through Intersectio...
HackYourBrain__UtrechtJUG__11092025.pptx
3.Software Design for software engineering
ROI Analysis for Newspaper Industry with Odoo ERP
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
Human-Computer Interaction for Lecture 2
CapCut PRO for PC Crack New Download (Fully Activated 2025)
Foundations of Marketo Engage: Nurturing
Cloud Native Aachen Meetup - Aug 21, 2025
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
Practical Indispensable Project Management Tips for Delivering Successful Exp...
AI-Powered Fuzz Testing: The Future of QA
Plex Media Server 1.28.2.6151 With Crac5 2022 Free .
R-Studio Crack Free Download 2025 Latest
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
string python Python Strings: Literals, Slicing, Methods, Formatting, and Pra...
Streamlining Project Management in the AV Industry with D-Tools for Zoho CRM ...
How to Odoo 19 Installation on Ubuntu - CandidRoot
Viber For Windows 25.7.1 Crack + Serial Keygen

Domain Driven Design (Ultra) Distilled

  • 2. Domain-Driven Design (DDD) - What • IS.. • a toolbox (set of pattern) of the best software modeling tools available, to assist in design and implementation of software that delivers high value – both strategically and tactically • MEANS… • learning through the team communication for building a model based on an Ubiquitous language • Making competitively best software design choices and integration decision for the business
  • 3. Domain-Driven Design (DDD) - Why • TO IMPLEMENT SOFTWARE THAT • correctly models business’ needs • performs at a scale using most advanced techniques
  • 4. Stop u “Task board shuffle” u Scrum if for knowledge acquisition, not time control u Chasm between business’ and developers’ mental models u Wrong abstractions Start u Thoughtful design u Effective design u Strictly modeled around business’ needs u It will evolve naturally with the business because it has been created to be adherent to the business itself
  • 5. “ ” Questions about whether design is necessary or affordable are quite beside the point: design is inevitable. The alternative to good design is bad design, not no design at all. DOUGLAS MARTIN, 1989 Design is inevitable: the alternative to good design is bad design, not no design at all!
  • 6. Ubiquitous Language uCreate a common, rigorous language between developers and users.
  • 7. Event Storming u ”Rapid design technique to engage both Domain Experts and Developers in a fast-paced learning process.” u Focused on the business and business process rather than on nouns and data.
  • 9. Event Storming uDifferent colors for each component uDifferent shapes for each context
  • 11. Context Mapping INTEGRATION BETWEEN THE CORE DOMAIN AND OTHER BOUNDED CONTEXTS
  • 13. Context Mapping u Partnership u 2 teams working on 2 bounded contexts have aligned and dependent set of goals u Shared kernel u 2 or more bounded contexts can share a common model u Customer supplier u 2 bounded contexts into an upstream and downstream, where the upstream is the supplier, and has to try and meet the expectations of the customer (downstream) u Conformist u 2 bounded context, the upstream has no interest in supporting the downstream for whatever reason. The downstream must conform to whatever the upstream provides u Anticorruption Layer u the downstream bounded context implements a layer between itself and the upstream u Open Host Service (OHS) / Published Language (PL) u Protocol or interface that gives access to the Bounded Context as a set of services u Published Language u Well-documented information exchange language enabling simple consumption and translation by any number of Bounded Context u Separate Ways u Situation where integration with one or more Bounded Context will not produce significant payoffs through the consumption of various Ubiquitous Languages u Big Ball of Mud u software system that lacks a perceivable architecture