Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Domain Driven Design
Search
Romain TOUZE
July 25, 2017
Technology
93
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Domain Driven Design
FR - une rapide présentation sur le domain driven design.
Romain TOUZE
July 25, 2017
More Decks by Romain TOUZE
See All by Romain TOUZE
Python the good parts
rtouze
0
150
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
280
Un éditeur de texte ? Pourquoi pas Vim ?
rtouze
0
500
Other Decks in Technology
See All in Technology
継続的なAIコスト最適化
bgpat
1
290
AI時代のPRレビューにどう向き合うか?
kairim0
1
190
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
2
850
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
1
140
ゲームのリアルタイム通信から見た QUIC と MoQ
segadevtech
0
110
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
690
Classmethod Company Deck
satoshi7
0
100
【Data Engineering Summit2026_登壇資料】医療ビッグデータ×AIエージェントを支えるデータ基盤とハーネスエンジニアリング
jmdc_presentation
0
130
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
7
2.6k
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
360
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.7k
Loop Engineering これくらいでいい
mikanichinose
0
220
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Statistics for Hackers
jakevdp
799
230k
The browser strikes back
jonoalderson
0
1.8k
Odyssey Design
rkendrick25
PRO
2
870
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
Code Review Best Practice
trishagee
74
20k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Google's AI Overviews - The New Search
badams
0
1.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
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 !