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
68
Testing Absolute Units
pelshoff
0
58
Confidently Insured
pelshoff
0
130
Final Class Aggregate
pelshoff
0
200
Technically DDD v10
pelshoff
0
120
From Conversation to Software v3
pelshoff
0
58
TDD, DDD & Teamwork v2
pelshoff
0
120
Technically DDD C# v10
pelshoff
1
190
A Practical Introduction to Domain Driven Design
pelshoff
4
200
Other Decks in Programming
See All in Programming
RubyLSPのマルチバイト文字対応
notfounds
0
120
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.8k
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
Arm移行タイムアタック
qnighy
0
340
CSC509 Lecture 12
javiergs
PRO
0
160
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.2k
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
910
CSC509 Lecture 11
javiergs
PRO
0
180
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Scaling GitHub
holman
458
140k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Building Applications with DynamoDB
mza
90
6.1k
Producing Creativity
orderedlist
PRO
341
39k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
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