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
Technically DDD
Search
pelshoff
July 06, 2017
Programming
150
1
Share
Technically DDD
pelshoff
July 06, 2017
More Decks by pelshoff
See All by pelshoff
Push your side effects to the edge
pelshoff
0
120
Testing Absolute Units
pelshoff
0
100
Confidently Insured
pelshoff
0
220
Final Class Aggregate
pelshoff
0
270
Technically DDD v10
pelshoff
0
170
From Conversation to Software v3
pelshoff
0
150
TDD, DDD & Teamwork v2
pelshoff
0
220
Technically DDD C# v10
pelshoff
1
270
A Practical Introduction to Domain Driven Design
pelshoff
4
320
Other Decks in Programming
See All in Programming
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
150
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
470
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
130
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
Claude Codeログ基盤の構築
giginet
PRO
7
3.8k
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
480
「速くなった気がする」をデータで疑う
senleaf24
0
110
The free-lunch guide to idea circularity
hollycummins
0
390
AI Assistants for YourAngular Solutions @Angular Graz, March 2026
manfredsteyer
PRO
0
130
へんな働き方
yusukebe
6
2.9k
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
260
存在論的プログラミング: 時間と存在を記述する
koriym
5
680
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
200
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
Balancing Empowerment & Direction
lara
5
1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
310
Optimizing for Happiness
mojombo
378
71k
Evolving SEO for Evolving Search Engines
ryanjones
0
170
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Transcript
None
Technically DDD DDDDeventer, 2017-07-06 19:45:00.000000
Pim Elshoff developer.procurios.com @pelshoff
None
None
Questions?
None
Context
Value objects
None
None
Value objects • Express a value • Business rules here
• Immutable • Easy to unit test
Entities
None
Entities • Have identity • More than the sum of
their attributes • Evolve over time • If there really really really is no VO possible, then business rules here • Slightly harder to test
Services
None
Services • No identity or attributes (Not a “thing”) •
Cross-concern operations • Business rules that need more data than any single entity knows • Harder to test
Aggregates
None
Aggregates • Collection of objects • Interaction through root •
If there really really really is no VO possible, then business rules here • Harder to test
Repositories
Repositories • Collection of all objects of a type
final class Address
final class BicycleService
final class StreetAddress
final class Investment
None
None
Meetings cannot end before they start
None
None
None
None
None
Program slots cannot occur in the same room at the
same time
None
None
None
None
None
None
None
None
Program slots must occur within the duration of the meeting
None
Pim Elshoff developer.procurios.com @pelshoff