Context
Basics
Iterations
Architecture
Kick-Off
Exe / Jar / Zip
Objects
Classes
OOP
Design Patterns
Modules
Layers
Project
Service
Exe / Jar / Zip
Objects
Classes
OOP
Design Patterns
Modules
Layers
Project
Service
Service
Service
Sub-Domain
Sub-Domain
Domain
Domain-Driven-Design
Exe / Jar / Zip
Objects
Classes
OOP
Design Patterns
Modules
Layers
Project
Building Blocks in DDD
issues/hot spots, chances
external systems, read models, policies
users/actors, timers, loops
product added to cart
domain event (past tense)
orange sticky note
relevant for domain experts
command (present tense)
blue sticky note
triggers a domain event
product add to cart
aggregate/entity
yellow sticky note
data that is interacted with
product
find borders where a domain model has a different meaning
domain events flow between different models
bounded context/sub-domain
red sticky note
core name that is relevant/valid
checkout
narrative/stories/user journey
line(s)
multiple storytellings
common language for everyone
event
command
external system
policy
user
user
command
add new colours/sticky notes: e.g. policies
challenging value (discover new opportunities, inconsistencies)
reveal pain points
enable cross-perspective conversation
provider-ui
storefront-ui
merchant-ui
Frontend
api proxy
tenant
auth
Core
business unit
site
shop
Shop Admin
Product
product
. . .
. . .
. . .
. . .
Each sub-domain is implemented as vertical:
Ubiquitous Language
Bounded Context
Domain Model
A domain model is to a bounded context
what classes are to objects
Context Map
event
command
external system
policy
user
read model
user
command
add new colours/sticky notes: e.g. policies
challenging value (discover new opportunities, inconsistencies)
reveal pain points
enable cross-perspective conversation