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
Domain Driven Design
Search
Romain TOUZE
July 25, 2017
Technology
0
83
Domain Driven Design
FR - une rapide présentation sur le domain driven design.
Romain TOUZE
July 25, 2017
Tweet
Share
More Decks by Romain TOUZE
See All by Romain TOUZE
Python the good parts
rtouze
0
140
Au secours ! On n'a pas de projet en Python dans ma boite !
rtouze
0
110
Un editeur de texte pourquoi pas Vim (reprise)
rtouze
0
240
Un éditeur de texte ? Pourquoi pas Vim ?
rtouze
0
460
Other Decks in Technology
See All in Technology
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
170
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
200
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
今日から始めるAmazon Bedrock AgentCore
har1101
4
400
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
1.7k
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
300
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
Meshy Proプラン課金した
henjin0
0
250
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
220
配列に見る bash と zsh の違い
kazzpapa3
1
110
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Testing 201, or: Great Expectations
jmmastey
46
8k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
180
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
53
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
160
Documentation Writing (for coders)
carmenintech
77
5.2k
Building Applications with DynamoDB
mza
96
6.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Transcript
DOMAIN DRIVEN DESIGN AKA DDD Romain TOUZÉ
ORIGINES Eric Evans
None
POURQUOI ? Modèle anémique Applications centrées sur la base de
données Structurations techniques Sous utilisation de la POO (primitive obsession)
CONTROLLER, BEAN, SERVICE, IMPL…
QUE FAIT MON OBJET ?
None
None
LA BASE
UBIQUITUOUS LANGUAGE dans les CR de workshop… dans les specs
dans les tests dans le code
ALLER VOIR LES MÉTIERS Dé nir les contextes délimités (bounded
contexts) qui vont constituer l'application Acquérir le vocabulaire Challenger le métier BDD
BOUNDED CONTEXTS ?
BOUNDED CONTEXTS ? Utilisation d'un progiciel… Équipes différentes…
PROPOSITION D'IMPLÉMENTATION
DÉCOUPLER L'INFRASTRUCTURE DU CODE MÉTIER
ARCHITECTURE HEXAGONALE
ANTICORRUPTION LAYER
OBJETS
ENTITÉS Représente les éléments du domaine ayant un cycle de
vie et un identi ant dans le SI. Objets muables
VALEURS (VALUE OBJECTS) Représente une donnée associée aux entités Objet
immuables Évite l'obsession des primitives (primitive obsession)
EXEMPLE : UN MONTANT Integer ? Float ? OK, mais
si je dois gérer plusieurs devises ? OK, mais si je dois faire de l'arithmétique en gérant plusieurs devises ?
AGRÉGATS Arborescence d'entités et de valeurs Les opérations se font
sur la racine uniquement
SERVICES
EN GÉNÉRAL Les actions qui ne peuvent pas être portées
par les objets eux-mêmes
REPOSITORY Récupération et stockage dans la couche de persistance
FACTORY Traduction des informations envoyées au système
RAPPEL
AUJOURD'HUI
LIMITATIONS Scalabilité ? Contextualisation lecture / écriture ?
SCALABILITÉ
CQRS Command Query Responsibility Segregation
CQRS
CQRS
CQRS
EVENT SOURCING
RÉFÉRENCE DDD Community CQRS, event sourcing, task based UI Hexagonal
architecture
C'EST TOUT POUR MOI !