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
1
140
Technically DDD
pelshoff
July 06, 2017
Tweet
Share
More Decks by pelshoff
See All by pelshoff
Push your side effects to the edge
pelshoff
0
87
Testing Absolute Units
pelshoff
0
74
Confidently Insured
pelshoff
0
170
Final Class Aggregate
pelshoff
0
240
Technically DDD v10
pelshoff
0
140
From Conversation to Software v3
pelshoff
0
98
TDD, DDD & Teamwork v2
pelshoff
0
160
Technically DDD C# v10
pelshoff
1
230
A Practical Introduction to Domain Driven Design
pelshoff
4
250
Other Decks in Programming
See All in Programming
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
120
SODA - FACT BOOK
sodainc
1
1.1k
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
130
AIネイティブなプロダクトをGolangで挑む取り組み
nmatsumoto4
0
120
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
1
350
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
130
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
12
2.9k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.8k
Is Xcode slowly dying out in 2025?
uetyo
1
180
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
250
Create a website using Spatial Web
akkeylab
0
290
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
370
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
How GitHub (no longer) Works
holman
314
140k
Practical Orchestrator
shlominoach
188
11k
BBQ
matthewcrist
89
9.7k
Facilitating Awesome Meetings
lara
54
6.4k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Why Our Code Smells
bkeepers
PRO
337
57k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Code Reviewing Like a Champion
maltzj
524
40k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
790
A designer walks into a library…
pauljervisheath
206
24k
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