Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Why Domain-Driven Design is so Relevant Today?
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Jérémie Grodziski
June 07, 2017
Programming
0
600
Why Domain-Driven Design is so Relevant Today?
Jérémie Grodziski
June 07, 2017
Tweet
Share
More Decks by Jérémie Grodziski
See All by Jérémie Grodziski
Clojure project in the field
jgrodziski
0
430
Why Data Literals Matters? English version
jgrodziski
0
830
Why Data Literals Matters?
jgrodziski
1
1.6k
Why Data Literals Matters?
jgrodziski
0
110
Anatomy of a BDD Execution Library in Clojure
jgrodziski
0
1k
Clojure Zipper
jgrodziski
1
290
An introduction to Clojure
jgrodziski
0
5.4k
Iqnite Geneva 2013 - Conception et Test avec DDD et BDD
jgrodziski
0
210
Introduction to Domain Driven Design - Entity and Value Object
jgrodziski
3
7.9k
Other Decks in Programming
See All in Programming
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
300
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
200
[SF Ruby Feb'26] The Silicon Heel
palkan
0
120
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
100
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
570
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
160
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
140
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
360
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
410
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
390
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
290
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
130
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
What does AI have to do with Human Rights?
axbom
PRO
1
2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Crafting Experiences
bethany
1
93
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
140
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
180
Why Our Code Smells
bkeepers
PRO
340
58k
The untapped power of vector embeddings
frankvandijk
2
1.6k
Accessibility Awareness
sabderemane
0
84
Amusing Abliteration
ianozsvald
0
140
Transcript
WHY DOMAIN-DRIVEN DESIGN IS SO RELEVANT TODAY? Jérémie GRODZISKI L’après-midi
du Domain-Driven-Design Microsoft - June 2017
A PERSONAL HISTORY OF COMPUTING
MY FIRST ENCOUNTER
30 YEARS AFTER…
“SOFTWARE IS EATING THE WORLD”
IT HAS NEVER BEEN SO EASY TO BUILD SOFTWARE
BUT …
THE COST OF MAINTAINING SOFTWARE STAY TOO HIGH
THE HARSH REALITY
WHAT’S LEGACY ?
THE 3 PILLARS OF COMPLEXITY DOMAIN SOFTWARE PEOPLE
TACKLING COMPLEXITY IN THE HEART OF SOFTWARE
THE HEART OF SOFTWARE?
DOMAIN?
A SET OF CONCEPTS THAT, THROUGH USE CASES, ALLOWS US
TO SOLVE PROBLEMS DOMAIN?
DOMAIN: DOUBLE ENTRY ACCOUNTING SOLVED PROBLEMS: TRACKING, ROBUSTNESS CONCEPTS: ACCOUNT,
DEBIT, CREDIT, AMOUNT, ETC.
DOMAIN: IDE SOLVED PROBLEMS: PRODUCTIVITY, INTEGRATION CONCEPTS: PROJECTS, FILES, ANALYSIS,
REFACTORING, CVS, DEBUGGER, ETC.
HOW TO TACKLE COMPLEXITY ?
BETTER ALIGNMENT solution space problem space
WITH DDD WE CONNECT solution space problem space
ALIGNMENTS REQUIRES UNDERSTANDING
OUR FIRST WORK AS DEVELOPER? UNDERSTAND THE DOMAIN WE’LL HAVE
TO CODE …OR MAINTAIN
BOTH AN APPROACH AND A TOOLBOX
AN APPROACH Focus on business Value Language is key Make
the implicit, explicit
MAKE THE IMPLICIT EXPLICIT ?
DDD IS NOT A PROCESS !
DESIGN IS MAKING DECISIONS
ALWAYS CONNECT YOUR DECISIONS TO YOUR BUSINESS OBJECTIVES
DDD IS ALSO A TOOLBOX
A TWO STOREY TOOLBOX
TOOLS TO HELP WHILE CODING TACTICAL PATTERNS
TOOLS TO HELP WHILE ARCHITECTING STRATEGICAL PATTERNS
DDD IN A NUTSHELL HOW BEST TO INTEGRATE THE DOMAIN
IN THE SOFTWARE?
DDD IN A NUTSHELL BUILD WHAT THEY NEED, NOT WHAT
YOU CAN
DISCLAIMER FOR TODAY