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
92
Testing Absolute Units
pelshoff
0
78
Confidently Insured
pelshoff
0
180
Final Class Aggregate
pelshoff
0
240
Technically DDD v10
pelshoff
0
140
From Conversation to Software v3
pelshoff
0
110
TDD, DDD & Teamwork v2
pelshoff
0
170
Technically DDD C# v10
pelshoff
1
240
A Practical Introduction to Domain Driven Design
pelshoff
4
270
Other Decks in Programming
See All in Programming
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
2
280
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
390
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
130
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
280
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
720
AI時代のUIはどこへ行く?
yusukebe
18
9.2k
OSS開発者という働き方
andpad
5
1.7k
Performance for Conversion! 分散トレーシングでボトルネックを 特定せよ
inetand
0
5.6k
AIでLINEスタンプを作ってみた
eycjur
1
230
Cache Me If You Can
ryunen344
2
6.1k
Navigating Dependency Injection with Metro
zacsweers
3
5.7k
アセットのコンパイルについて
ojun9
0
130
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
Fireside Chat
paigeccino
39
3.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Docker and Python
trallard
46
3.6k
How STYLIGHT went responsive
nonsquared
100
5.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
820
Making Projects Easy
brettharned
117
6.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
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