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
88
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
100
TDD, DDD & Teamwork v2
pelshoff
0
170
Technically DDD C# v10
pelshoff
1
230
A Practical Introduction to Domain Driven Design
pelshoff
4
260
Other Decks in Programming
See All in Programming
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
340
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
310
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
690
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
480
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
8.6k
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
1k
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
200
レトロゲームから学ぶ通信技術の歴史
kimkim0106
0
100
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
290
GPUを計算資源として使おう!
primenumber
1
220
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
1k
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
140
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Producing Creativity
orderedlist
PRO
346
40k
A Modern Web Designer's Workflow
chriscoyier
695
190k
The Cult of Friendly URLs
andyhume
79
6.5k
Code Review Best Practice
trishagee
69
19k
Music & Morning Musume
bryan
46
6.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Bash Introduction
62gerente
613
210k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
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