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
96
Testing Absolute Units
pelshoff
0
79
Confidently Insured
pelshoff
0
180
Final Class Aggregate
pelshoff
0
240
Technically DDD v10
pelshoff
0
150
From Conversation to Software v3
pelshoff
0
120
TDD, DDD & Teamwork v2
pelshoff
0
180
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
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
9.2k
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
3.6k
業務でAIを使いたい話
hnw
0
210
ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界
shiita0903
1
180
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
5
300
Introducing RemoteCompose: break your UI out of the app sandbox.
camaelon
2
170
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
210
Leading Effective Engineering Teams in the AI Era
addyosmani
7
680
EMこそClaude Codeでコード調査しよう
shibayu36
0
510
NIKKEI Tech Talk#38
cipepser
0
340
One Enishi After Another
snoozer05
PRO
0
170
Developer Joy - The New Paradigm
hollycummins
1
390
Featured
See All Featured
Visualization
eitanlees
150
16k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Making Projects Easy
brettharned
120
6.4k
Rails Girls Zürich Keynote
gr2m
95
14k
The Pragmatic Product Professional
lauravandoore
36
7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Navigating Team Friction
lara
190
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Git: the NoSQL Database
bkeepers
PRO
431
66k
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