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
450
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
330
Why Data Literals Matters? English version
jgrodziski
0
550
Why Data Literals Matters?
jgrodziski
1
1.5k
Why Data Literals Matters?
jgrodziski
0
47
Anatomy of a BDD Execution Library in Clojure
jgrodziski
0
800
Clojure Zipper
jgrodziski
1
240
An introduction to Clojure
jgrodziski
0
5k
Iqnite Geneva 2013 - Conception et Test avec DDD et BDD
jgrodziski
0
150
Introduction to Domain Driven Design - Entity and Value Object
jgrodziski
3
7.2k
Other Decks in Programming
See All in Programming
Fragment Composition of GraphQL
quramy
7
1k
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.3k
What We Can Learn From OSS
inouehi
0
420
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
190
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
380
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
260
Ruby Pattern Matching
bkuhlmann
0
930
Milestoner
bkuhlmann
1
410
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
430
Snowflakeで眠ったデータを起こそう!
estie
0
120
Apache Hive 4 on Treasure Data
ryukobayashi
0
350
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
What the flash - Photography Introduction
edds
64
11k
Side Projects
sachag
451
41k
Agile that works and the tools we love
rasmusluckow
325
20k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
30
6k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
Design by the Numbers
sachag
274
18k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.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