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
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
180
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
パスワード再設定メールのURLについて知っておこう
uyuki234
0
170
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
34k
AWSに止められる覚悟してますか?
morizo_1984
2
540
phperだってパンチカードでコーディングしたい
o0h
PRO
0
380
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.8k
AmebaブログはKMPから卒業します
kmars0605
0
220
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
1.5k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
820
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
330
Seven New Principles of Software Engineering
yegor256
0
210
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
790
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
New Earth Scene 8
popppiees
4
2.7k
A better future with KSS
kneath
240
18k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
My Coaching Mixtape
mlcsv
0
360
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Odyssey Design
rkendrick25
PRO
2
880
Skip the Path - Find Your Career Trail
mkilby
1
260
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