
Intro to DDD Session 1
Presentation
•
Education
•
•
Practice Problem
•
Hard
Mohamed Essam
Used 2+ times
FREE Resource
22 Slides • 4 Questions
1
Domain-Driven Design
• The Domain Model is the “heart” of an application.
• An increase of complexity is often caused by a poorly designed model.
2
Domain
A sphere of knowledge, influence, or activity. The subject
area to which the user applies a program is the domain of
the software.
3
Model
A system of abstractions that describes selected aspects
of a domain and can be used to solve problems related to
that domain.
4
Domain Model
• Contains the “concepts” used in the client’s domain that are used to solve a
specific problem
• Never contains a concept that the client doesn’t care about
• Remember it’s a model!
5
Domain
6
Model
7
Model
8
Entity
Objects that are not fundamentally defined by their
attributes, but rather by a thread of continuity and
identity.
9
Value Object
Value objects have no conceptual identity, but are
fundamentally defined by their attributes.
They describe some characteristic of a thing.
Value Objects are Immutable.
10
Multiple Choice
Human Being is ...
Value Object
An Entity
It depends
NONE
11
It Depends
12
Multiple Choice
1 Euro Bill is ...
Value Object
An Entity
It depends
NONE
13
It Depends
14
Multiple Choice
Does this Code describe Value objects or Entities?
Bucket literOfRed = new Bucket(1L, Color.RED);
Bucket literOfWhite = new Bucket(1L, Color.WHITE);
literOfRed.add(literOfWhite);
// now literOfRed contains 2 liters…. Of PINK!
// and literOfWhite… Empty! Or is it?
Entities
Value Objects
It Depends!
15
Multiple Choice
Does this Code describe Value objects or Entities?
Bucket literOfRed = new Bucket(1L, Color.RED);
Bucket literOfWhite = new Bucket(1L, Color.WHITE);
Bucket lotsOfPink = literOfRed.mixedWith(literOfWhite);
// “magically” a new bucket appears ☺
Bucket evenMorePaint = newBucket.mixedWith(literOfWhite);
Entities
Value Objects
It Depends!
16
Repository
A mechanism for encapsulating storage, retrieval, and
search behavior which emulates a collection of objects.
17
Aggregate
A group of associated objects which are considered as
one unit with regard to data changes…
18
Aggregate
External references are restricted to one member of the
aggregate, designated as the Root.
A set of consistency rules applies within the Aggregate’s
boundaries.
19
Where is the boundary?
20
Event
A notification that something relevant has happened
inside the domain.
21
Adding structure to the Model
22
Bounded Context
Explicitly define the context within which a model applies. Explicitly set
boundaries in terms of team organization, usage within specific parts of the
application, and physical manifestations such as code bases and database
schemas. Keep the model strictly consistent within these bounds, but don’t
be distracted or confused by issues outside.
23
Bounded Context
2. Define boundaries (team organization, usage, physical form).
3. Keep model strictly consistent within bounds.
4. Don’t be distracted by outside ideas/solutions.
1. Construct your model.
24
Ground crew
Passenger
Example - Flight
Flight number
Arrival time
Turn-around time
Flight number
Check-in deadline
Luggage allowance
Flight number
Crewmates
Service schedule
Cabin crew
“Flight”
25
Adding structure to the Model
26
Adding structure to the Model
Domain-Driven Design
• The Domain Model is the “heart” of an application.
• An increase of complexity is often caused by a poorly designed model.
Show answer
Auto Play
Slide 1 / 26
SLIDE
Similar Resources on Wayground
17 questions
Non-Fiction Text Features
Presentation
•
2nd Grade
17 questions
Quotation Marks
Presentation
•
2nd - 4th Grade
21 questions
Topic Sentence
Presentation
•
6th Grade
20 questions
Gr4_Unit2_Lesson6
Presentation
•
4th Grade
20 questions
Volume of a Cylinder
Presentation
•
8th Grade
20 questions
Mixtures and Solutions
Presentation
•
5th Grade
21 questions
Study Skills
Presentation
•
6th - 8th Grade
23 questions
Author's Point of View and Purpose
Presentation
•
4th - 8th Grade
Popular Resources on Wayground
10 questions
Safety Day 2026 – Student Review
Quiz
•
9th Grade
21 questions
Continents and Oceans
Quiz
•
6th Grade
20 questions
Parts of Speech
Quiz
•
5th Grade
16 questions
Subject & Predicate
Quiz
•
5th Grade
25 questions
Multiplication Facts
Quiz
•
5th Grade
12 questions
Map Skills
Quiz
•
3rd Grade
22 questions
Continents and Oceans
Quiz
•
5th Grade
15 questions
Rounding Decimals
Quiz
•
5th Grade
Discover more resources for Education
10 questions
Safety Day 2026 – Student Review
Quiz
•
9th Grade
16 questions
Equivalent Fractions
Quiz
•
5th Grade
24 questions
CKLA Unit 2 Test
Quiz
•
5th Grade
8 questions
Unit 5 Week 4 wonders vocab: 2nd grade
Quiz
•
2nd Grade
20 questions
AP Statistics Unit 2: Collecting Data
Quiz
•
11th Grade
20 questions
You Belong Here Bash Quiz
Quiz
•
University
15 questions
Why the Sky Is Far Away
Quiz
•
3rd Grade