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
Domain Driven Design
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Buzzvil
December 12, 2018
320
0
Share
Domain Driven Design
Buzzvil
December 12, 2018
More Decks by Buzzvil
See All by Buzzvil
220903_GFS
buzzvil
0
620
Git 해부하기 2 + 3
buzzvil
0
64
Metastable Failure
buzzvil
0
340
Git 해부하기
buzzvil
0
78
Introduction to Plate Solving
buzzvil
0
70
Airbnb Minerva
buzzvil
0
500
Shape up 방법론
buzzvil
0
1.1k
Buzzvil Billing Data Pipeline
buzzvil
0
710
Journey of Dash's release-cycle
buzzvil
0
260
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Raft: Consensus for Rubyists
vanstee
141
7.5k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
940
Mobile First: as difficult as doing things right
swwweet
225
10k
Believing is Seeing
oripsolob
1
130
A Modern Web Designer's Workflow
chriscoyier
698
190k
Why Our Code Smells
bkeepers
PRO
340
58k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
140
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Embracing the Ebb and Flow
colly
88
5.1k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
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!