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
84
Testing Absolute Units
pelshoff
0
71
Confidently Insured
pelshoff
0
160
Final Class Aggregate
pelshoff
0
230
Technically DDD v10
pelshoff
0
130
From Conversation to Software v3
pelshoff
0
86
TDD, DDD & Teamwork v2
pelshoff
0
160
Technically DDD C# v10
pelshoff
1
220
A Practical Introduction to Domain Driven Design
pelshoff
4
240
Other Decks in Programming
See All in Programming
Qiita Bash
mercury_dev0517
2
210
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
cyrilmottier
2
310
REALITY コマンド作成チュートリアル
nishiuriraku
0
110
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
290
On-the-fly Suggestions of Rewriting Method Deprecations
ohbarye
1
3.5k
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
150
Contribute to Comunities | React Tokyo Meetup #4 LT
sasagar
0
560
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
8
2.7k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
4
690
生成AIを使ったQAアプリケーションの作成 - ハンズオン補足資料
oracle4engineer
PRO
3
260
新しいPHP拡張モジュールインストール方法「PHP Installer for Extensions (PIE)」を使ってみよう!
cocoeyes02
0
420
これだけは知っておきたいクラス設計の基礎知識 version 2
masuda220
PRO
24
6.6k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
Fireside Chat
paigeccino
37
3.4k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
400
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Unsuck your backbone
ammeep
670
57k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Producing Creativity
orderedlist
PRO
344
40k
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