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
Jérémie Grodziski
June 07, 2017
Programming
0
520
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
360
Why Data Literals Matters? English version
jgrodziski
0
650
Why Data Literals Matters?
jgrodziski
1
1.5k
Why Data Literals Matters?
jgrodziski
0
50
Anatomy of a BDD Execution Library in Clojure
jgrodziski
0
900
Clojure Zipper
jgrodziski
1
240
An introduction to Clojure
jgrodziski
0
5.2k
Iqnite Geneva 2013 - Conception et Test avec DDD et BDD
jgrodziski
0
160
Introduction to Domain Driven Design - Entity and Value Object
jgrodziski
3
7.5k
Other Decks in Programming
See All in Programming
バグを見つけた?それAppleに直してもらおう!
uetyo
0
170
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
今からはじめるAndroidアプリ開発 2024 / DevFest 2024
star_zero
0
1k
良いユニットテストを書こう
mototakatsu
4
1.6k
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
240
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
3
920
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
1
350
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
130
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
GitHub's CSS Performance
jonrohan
1030
460k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.3k
Automating Front-end Workflow
addyosmani
1366
200k
4 Signs Your Business is Dying
shpigford
181
21k
Visualization
eitanlees
146
15k
Building Adaptive Systems
keathley
38
2.3k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Optimizing for Happiness
mojombo
376
70k
Making Projects Easy
brettharned
116
5.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
160
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
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