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
130
Testing Absolute Units
pelshoff
0
110
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
280
A Practical Introduction to Domain Driven Design
pelshoff
4
320
Other Decks in Programming
See All in Programming
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
200
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
140
NakouPAY説明用
annouim0
0
240
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
2
280
GoogleCloudとterraform完全に理解した
terisuke
1
110
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
260
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
340
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
2.6k
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
540
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
620
おれのAgentic Coding 2026/03
tsukasagr
1
150
AIエージェントで業務改善してみた
taku271
0
540
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
120
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
110
Fireside Chat
paigeccino
42
3.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
69
39k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
First, design no harm
axbom
PRO
2
1.2k
Claude Code のすすめ
schroneko
67
220k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
160
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
140
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