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
510
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
890
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
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
as(型アサーション)を書く前にできること
marokanatani
7
2.5k
RubyLSPのマルチバイト文字対応
notfounds
0
110
イベント駆動で成長して委員会
happymana
1
310
現場で役立つモデリング 超入門
masuda220
PRO
15
3.2k
Quine, Polyglot, 良いコード
qnighy
4
640
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
570
Tauriでネイティブアプリを作りたい
tsucchinoko
0
360
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
100
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
5
1.6k
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
510
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
A Tale of Four Properties
chriscoyier
156
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Making Projects Easy
brettharned
115
5.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Embracing the Ebb and Flow
colly
84
4.5k
Typedesign – Prime Four
hannesfritz
40
2.4k
Side Projects
sachag
452
42k
Building Applications with DynamoDB
mza
90
6.1k
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