SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
G O T O p i a C h i c a g o O n l i n e 2 0 2 1 - 0 4 - 2 0
Is DDD Overrated?
Stefan Tilkov
@stilkov
Domain-driven design
@stilkov
An approach to designing software that emphasizes
domain knowledge over technical aspects and
supports users within a domain via a model
implemented in software
Domain-driven design de
f
ined
@stilkov
DDD is an approach to the development of
complex software in which we:
1. Focus on the core domain
2. Explore models in a creative collaboration
of domain practitioners and software
practitioners
3. Speak a ubiquitous language within an
explicitly bounded context
Eric Evans, https:/
/www.domainlanguage.com/wp-content/uploads/2016/05/DDD_Reference_2015-03.pdf
Domain-driven design de
f
ined
@stilkov
A common language for domain experts and
technical team members
Key aspect #1: Ubiquitous Language
@stilkov
A set of building blocks to structure the
implementation of a model according to best
practices: Entity, Aggregate, Value Object, Service,
Domain Event, Repository, Factory, Module
Key aspect #2: Tactical patterns
@stilkov
Context maps to visualize bounded contexts and
their relationships/connections: Partnership,
Conformist, Customer/Supplier, Anticorruption
Layer, Open-host Service, Published Language,
Shared Kernel
Key aspect #3: Strategic design
@stilkov
«bc»
Accounting
«bc»
OrderMgmt
Customer
Account
Product
Customer
Order
Product
«bc»
Ful
f
ilment
Customer
Shipment
Product
Conceptual extensibility
@stilkov
Ubiquitous language exists on multiple levels. On the
meta-level, the languages, idioms and patterns used
by team members support design collaboration, too
Generalization: Models and language
@stilkov
Shared language (“jargon”) supports
communication among domain team members. It
evolves according to reoccurring needs
Extensible jargon
@stilkov
Any set of pre-de
f
ined, “best practices” patterns is
a starting point, not an end in itself
Extensible, not
f
ixed
@stilkov
Entity, Aggregate, Value Object, Service, Domain
Event, Repository, Factory, Module,
Extending tactical patterns
Filter, Rule, Proxy, Contract, Role, Reference, …
[insert whatever makes sense to you]
@stilkov
Partnership, Conformist, Customer/Supplier,
Anticorruption Layer, Open-host Service, Published
Language, Shared Kernel,
Extending context relationships
Formal Contract, Shared Spec, 3rd Party Standard, …
[insert whatever makes sense to you]
Should design be domain-driven?
@stilkov
Domain allergy: preferring to explore
cool technology to being bothered by
learning domain concepts; a disease
common among technical developers
@stilkov
Core
business
logic
N
e
t
w
o
r
k
D
o
c
u
m
e
n
t
S
t
o
r
e
U
s
e
r
I
n
t
e
r
f
a
c
e
D
a
t
a
b
a
s
e
A
d
a
p
t
e
r
A
d
a
p
t
e
r
A
d
a
p
t
e
r
A
d
a
p
t
e
r
P
o
r
t
P
o
r
t
P
o
r
t
P
o
r
t
Ports and Adapters
Hexagonal Architecture
Clean Architecture
@stilkov
Reality aversion: a failure to recognize
that theoretical models tend to break
down in practice; a condition often
observed among public speakers
Should design be domain-driven?
@stilkov
No: Not every software
needs to be built using a
technology-neutral OO core
Yes: Every design should be
driven by the domain, not
by technology
@stilkov
Focus on using an RDBMS and its abstractions
(tables, views, joins, stored procedures …) for high-
performance, data-centric applications
Relational
@stilkov
Drive design from UI prototypes validated with user
experiments, focus on minimalistic, lean
implementations to quickly gather feedback, only
evolve what works as desired
UX/UI/U-driven
@stilkov
Use mathematical/functional models to generalize/
abstract domain models, apply combinatorial rules
to discover new domain logic
Algebraic/Denotational
@stilkov
Create technology-independent models outside of
programming language environments, use domain-
speci
f
ic languages and model-driven development
Model-driven
Contexts revisited
@stilkov
A description of a boundary (typically a subsystem
or the work of a particular team) within which a
particular model is de
f
ined and applicable
Bounded Context: De
f
inition
Eric Evans, https:/
/www.domainlanguage.com/wp-content/uploads/2016/05/DDD_Reference_2015-03.pdf
@stilkov
«bc»
Accounting
«bc»
OrderMgmt
Customer
Account
Product
Customer
Order
Product
«bc»
Ful
f
ilment
Customer
Shipment
Product
@stilkov
«bc»
Accounting
«bc»
OrderMgmt
Customer
Account
Product
Customer
Order
Product
«bc»
Ful
f
ilment
Customer
Shipment
Product
Implementation Strategy:
UX-driven
Implementation Strategy:
Tactical DDD
Implementation Strategy:
Relational
So – is DDD overrated?
@stilkov
… but you may have been doing it with another name
Strategic DDD is a great starting point for large systems
@stilkov
… but it’s best viewed as a micro-level decision
Tactical DDD is one of many great starting points
@stilkov
… but no solution is the only viable one
I really appreciate DDD and its community
Summary
@stilkov
No single approach will workin 100% of all cases,
or even 50% – adjust your expectations.
1. Don’t look for just one thing
@stilkov
Following rules at the start is
f
ine,
but don’t be dogmatic
2. Use recipes as starting points
@stilkov
Don’t be afraid to use the best tool for the job,
even if it’s uncool, old-fashioned or unusual
3. Use contexts as decision spheres
Krischerstr. 100
40789 Monheim
+49 2173 3366-0
Ohlauer Str. 43
10999 Berlin
Ludwigstr. 180E
63067 Offenbach
Kreuzstr. 16
80331 München
Hermannstrasse 13
20095 Hamburg
Erftstr. 15-17
50672 Köln
Königstorgraben 11
90402 Nürnberg
innoQ Deutschland GmbH
www.innoq.com
Thank you! Questions?
Stefan Tilkov
stefan.tilkov@innoq.com
+49 170 471 2625
@stilkov

Weitere ähnliche Inhalte

Ähnlich wie DDD Overrated GOTOpia.pdf

DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”Cisco DevNet
 
VenkateshPenta_Thunderhead_6.7Yrs
VenkateshPenta_Thunderhead_6.7YrsVenkateshPenta_Thunderhead_6.7Yrs
VenkateshPenta_Thunderhead_6.7YrsVenkatesh Penta
 
What's new in the latest source{d} releases!
What's new in the latest source{d} releases!What's new in the latest source{d} releases!
What's new in the latest source{d} releases!source{d}
 
BrodtKerry_122016
BrodtKerry_122016BrodtKerry_122016
BrodtKerry_122016Kerry Brodt
 
IPCalculus - Patent Portfolio Analysis
IPCalculus - Patent Portfolio AnalysisIPCalculus - Patent Portfolio Analysis
IPCalculus - Patent Portfolio AnalysisIPCalculus
 
Techcello at a glance
Techcello at a glanceTechcello at a glance
Techcello at a glancekanimozhin
 
II-SDV 2017: Gridlogics Technologies
II-SDV 2017: Gridlogics TechnologiesII-SDV 2017: Gridlogics Technologies
II-SDV 2017: Gridlogics TechnologiesDr. Haxel Consult
 
Mridul_Halder_Resume
Mridul_Halder_ResumeMridul_Halder_Resume
Mridul_Halder_ResumeMridul Halder
 
Project department of defense (do d) ready purposethis cours
Project department of defense (do d) ready purposethis coursProject department of defense (do d) ready purposethis cours
Project department of defense (do d) ready purposethis coursSAHIL781034
 
ICONIQ Analytics: The Modern Developer Technology Stack
ICONIQ Analytics: The Modern Developer Technology StackICONIQ Analytics: The Modern Developer Technology Stack
ICONIQ Analytics: The Modern Developer Technology StackChristine Edmonds
 

Ähnlich wie DDD Overrated GOTOpia.pdf (20)

DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
 
Mayuresh Warkhandkar_Resume
Mayuresh Warkhandkar_ResumeMayuresh Warkhandkar_Resume
Mayuresh Warkhandkar_Resume
 
VenkateshPenta_Thunderhead_6.7Yrs
VenkateshPenta_Thunderhead_6.7YrsVenkateshPenta_Thunderhead_6.7Yrs
VenkateshPenta_Thunderhead_6.7Yrs
 
What's new in the latest source{d} releases!
What's new in the latest source{d} releases!What's new in the latest source{d} releases!
What's new in the latest source{d} releases!
 
BrodtKerry_122016
BrodtKerry_122016BrodtKerry_122016
BrodtKerry_122016
 
pgupta17
pgupta17pgupta17
pgupta17
 
chaitanya_Resume
chaitanya_Resumechaitanya_Resume
chaitanya_Resume
 
Ibt Soa Babson Talk V8
Ibt Soa Babson Talk V8Ibt Soa Babson Talk V8
Ibt Soa Babson Talk V8
 
IPCalculus - Patent Portfolio Analysis
IPCalculus - Patent Portfolio AnalysisIPCalculus - Patent Portfolio Analysis
IPCalculus - Patent Portfolio Analysis
 
Techcello at a glance
Techcello at a glanceTechcello at a glance
Techcello at a glance
 
Harikri2
Harikri2Harikri2
Harikri2
 
Resume Raushan
Resume RaushanResume Raushan
Resume Raushan
 
Subramanyam_Nalam
Subramanyam_NalamSubramanyam_Nalam
Subramanyam_Nalam
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
II-PIC 2017 in Bangalore
II-PIC 2017 in BangaloreII-PIC 2017 in Bangalore
II-PIC 2017 in Bangalore
 
II-SDV 2017: Gridlogics Technologies
II-SDV 2017: Gridlogics TechnologiesII-SDV 2017: Gridlogics Technologies
II-SDV 2017: Gridlogics Technologies
 
Waseem Arfi Personal Profile
Waseem Arfi Personal ProfileWaseem Arfi Personal Profile
Waseem Arfi Personal Profile
 
Mridul_Halder_Resume
Mridul_Halder_ResumeMridul_Halder_Resume
Mridul_Halder_Resume
 
Project department of defense (do d) ready purposethis cours
Project department of defense (do d) ready purposethis coursProject department of defense (do d) ready purposethis cours
Project department of defense (do d) ready purposethis cours
 
ICONIQ Analytics: The Modern Developer Technology Stack
ICONIQ Analytics: The Modern Developer Technology StackICONIQ Analytics: The Modern Developer Technology Stack
ICONIQ Analytics: The Modern Developer Technology Stack
 

Kürzlich hochgeladen

Fashion trends before and after covid.pptx
Fashion trends before and after covid.pptxFashion trends before and after covid.pptx
Fashion trends before and after covid.pptxVanshNarang19
 
Case Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, PuneCase Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, PuneLukeKholes
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130Suhani Kapoor
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...Pooja Nehwal
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxjanettecruzeiro1
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceanilsa9823
 
WAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past QuestionsWAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past QuestionsCharles Obaleagbon
 
Government polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdGovernment polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdshivubhavv
 
Design Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxDesign Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxTusharBahuguna2
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...kumaririma588
 
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...ranjana rawat
 
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Call Girls in Nagpur High Profile
 
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...Call Girls in Nagpur High Profile
 
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts ServiceVVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Servicearoranaina404
 

Kürzlich hochgeladen (20)

Fashion trends before and after covid.pptx
Fashion trends before and after covid.pptxFashion trends before and after covid.pptx
Fashion trends before and after covid.pptx
 
Case Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, PuneCase Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, Pune
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptx
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
 
B. Smith. (Architectural Portfolio.).pdf
B. Smith. (Architectural Portfolio.).pdfB. Smith. (Architectural Portfolio.).pdf
B. Smith. (Architectural Portfolio.).pdf
 
WAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past QuestionsWAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past Questions
 
Government polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdGovernment polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcd
 
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
 
Design Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxDesign Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptx
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
 
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...
 
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
 
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts ServiceVVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
 
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
 

DDD Overrated GOTOpia.pdf