DDD
Transcript of DDD
DOMAIN DRIVEN DESIGN
ERNI - Innovation in Process and TechnologyPágina 3
What is DDD about? The problem first
DOMAIN PROBLEM
• The subject area for which you are building software.
• Sphere of knowledge, influence or activity.
COMPLEXITY• Tackling complexity.
• Focus on the core problem domain.
COLLABORATION
• Technical Experts and Business Experts must share the same language.
• Ubiquitous Language
ERNI - Innovation in Process and TechnologyPágina 4
What is NOT ONLY DDD about? The technology second
ARCHITECTURE / FRAMEWORKS• Don’t be fooled by fancy frameworks
DESIGN PATTERNS• Object Oriented Design Patterns.
METHODOLOGY• Apply an agile/iterative methodology
ERNI - Innovation in Process and TechnologyPágina 5
When to apply DDD
• Medium high problem domain of high importance to the customer business
Complex Problem Domain
• Aligned to the vision of the project
Access to Domain Experts
• Eager to learn about the problem domain.
Skilled, Motivated and
Passionate Team
ERNI - Innovation in Process and TechnologyPágina 6
When and Why apply DDD?D
evel
opm
ent
Effo
rt
ComplexityBi
g Ba
ll of
Mud
Domain
Problem
Domain
Driven Design
Low complexity project
High complexity project
Overengineering
CRUD Design
ERNI - Innovation in Process and TechnologyPágina 10
How to apply DDD: Divide the problem domain
Product BuilderPromotionRetention
NotificationShipping
LoyaltyInventory
ShoppingFulfillment
Sales
Procurement
E-CommerceCore
Domain
Generic Domains
Supporting Domain
ERNI - Innovation in Process and TechnologyPágina 12
Ubiquitous Language: One Team, One Language
Technical Expert
Jargon
Ubiquitous Language
JargonBusiness Expert
ERNI - Innovation in Process and TechnologyPágina 13
Ubiquitous Language : Connect the analysis model with the code
UBIQUITUOUS LANGUAGE
DOMAIN EXPERTS
DEVELOPMENT TEAM
ERNI - Innovation in Process and TechnologyPágina 17
What’s next?
SERVICE ITEM
•Starting point and basic knowledge about DDD.
NETWORKING
•Build up a network for sharing DDD project experiences
EXPERTISE
•DDD Point Of Contact in the company.
•Provide DDD expertise for new projects.
ERNI - Innovation in Process and TechnologyPágina 19
Questions
ERNI - Innovation in Process and TechnologyPágina 20
www.erni-consultants.com