Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Domain Driven Design
Search
Buzzvil
December 12, 2018
360
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Domain Driven Design
Buzzvil
December 12, 2018
More Decks by Buzzvil
See All by Buzzvil
220903_GFS
buzzvil
0
700
Git 해부하기 2 + 3
buzzvil
0
76
Metastable Failure
buzzvil
0
420
Git 해부하기
buzzvil
0
100
Introduction to Plate Solving
buzzvil
0
96
Airbnb Minerva
buzzvil
0
590
Shape up 방법론
buzzvil
0
1.1k
Buzzvil Billing Data Pipeline
buzzvil
0
760
Journey of Dash's release-cycle
buzzvil
0
320
Featured
See All Featured
New Earth Scene 8
popppiees
4
2.7k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Music & Morning Musume
bryan
48
7.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
It's Worth the Effort
3n
188
29k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Amusing Abliteration
ianozsvald
1
330
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
470
WCS-LA-2024
lcolladotor
0
850
Prompt Engineering for Job Search
mfonobong
0
490
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Transcript
DOMAIN DRIVEN DESIGN DDD
BY ERIC EVANS
150 PAGES
WHAT IS DOMAIN? • Business or whatever activity we are
trying to assist with the software
• Assembly parts != Car • Vision • Specification •
Architecture
• Communication between experts & developers • Develop model together
UBIQUITOUS LANGUAGE • Model driven: Based on the Domain Model
• Building up a common, rigorous language between developers and users • UML • Software doesn't cope well with ambiguity
BOUNDED CONTEXT • Model gets bigger • Bound context •
Domain & sub domain Domain Sub Domain Service Sub Domain Service Sub Domain Service
• Product in Catalog domain • Product in Stock Management
domain Product image, title, price product code, storage
• Subdomain has its own model • Each model has
bounded context
BUILDING BLOCKS Model Driven Development
LAYERED ARCHITECTURE
ENTITY • Not defined by their attributes • Continuity •
Identity
VALUE OBJECT • These objects describe characteristics of a thing.
• Immutable during lifecycle
SERVICE • oo manger • significant process or transformation in
the domain is not a responsibility of an ENTITY or VALUE OBJECT, add SERVICE • The interface is defined in terms of other elements in the domain model • Stateless
MODULE • Highly cohesive • Low coupling • Derived from
the Ubiquitous Language
AGGREGATE • Logical boundary for things that can change in
a business transaction of a given context. • Reduce many to many relationship • Root: outside objects holds references to
AGGREGATE
FACTORY • Produces complicated aggregates or sometimes also entities and
value objects
REPOSITORY • Interfaces for storing and retrieving Aggregate Roots
• Refactoring • Maintaining model integrity • …
THANK YOU!