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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Jérémie Grodziski
June 07, 2017
Programming
600
0
Share
Why Domain-Driven Design is so Relevant Today?
Jérémie Grodziski
June 07, 2017
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
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
840
感情を設計する
ichimichi
5
1.4k
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
330
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
200
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
770
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
570
アーキテクチャモダナイゼーションとは何か
nwiizo
17
4.8k
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
9
5.4k
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
320
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
190
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
670
[SF Ruby Conf 2025] Rails X
palkan
2
940
Exploring anti-patterns in Rails
aemeredith
3
310
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The SEO identity crisis: Don't let AI make you average
varn
0
440
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Utilizing Notion as your number one productivity tool
mfonobong
4
290
Designing for humans not robots
tammielis
254
26k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
680
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
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