Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Technically DDD
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
pelshoff
July 06, 2017
Programming
150
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Technically DDD
pelshoff
July 06, 2017
More Decks by pelshoff
See All by pelshoff
Push your side effects to the edge
pelshoff
0
160
Testing Absolute Units
pelshoff
0
140
Confidently Insured
pelshoff
0
260
Final Class Aggregate
pelshoff
0
300
Technically DDD v10
pelshoff
0
190
From Conversation to Software v3
pelshoff
0
170
TDD, DDD & Teamwork v2
pelshoff
0
250
Technically DDD C# v10
pelshoff
1
290
A Practical Introduction to Domain Driven Design
pelshoff
4
380
Other Decks in Programming
See All in Programming
Intent as Code
shoppingjaws
6
1k
アクセシビリティから考える情報設計
high_g_engineer
0
380
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
290
Are APIs Still Relevant in the AI Era?
soyuka
0
260
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
180
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
490
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
720
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
120
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.7k
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
290
Family mrubyの進捗
kishima
1
130
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
Making Projects Easy
brettharned
120
6.8k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
260
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.1k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Become a Pro
speakerdeck
PRO
31
6.3k
Believing is Seeing
oripsolob
1
220
Exploring anti-patterns in Rails
aemeredith
4
510
GraphQLとの向き合い方2022年版
quramy
50
15k
Abbi's Birthday
coloredviolet
4
10k
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