
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
22 questions
Natural and Artificial Light- Light and Shadow Week 1
Presentation
•
KG - 3rd Grade
22 questions
4.5 Poetry Grade 2
Presentation
•
2nd Grade
20 questions
Chinese Technology, Science and Medicine
Presentation
•
6th - 8th Grade
22 questions
Iroquois Confederacy
Presentation
•
7th Grade
22 questions
Light and Shadow Week 2- Opaque and Transparent
Presentation
•
KG - 3rd Grade
18 questions
Punnett Squares
Presentation
•
6th - 11th Grade
20 questions
Some Any
Presentation
•
3rd - 9th Grade
20 questions
Ratios
Presentation
•
6th Grade
Popular Resources on Wayground
6 questions
Secondary Safety Quiz
Presentation
•
9th - 12th Grade
10 questions
Afterschool Activities & Sports
Quiz
•
6th - 8th Grade
19 questions
ROAR Week 2026
Quiz
•
9th - 12th Grade
20 questions
Lab Safety Quiz
Quiz
•
6th Grade
15 questions
Cool Tool:Chromebook
Quiz
•
6th - 8th Grade
22 questions
would you rather
Quiz
•
3rd - 11th Grade
21 questions
Continents and Oceans
Quiz
•
6th Grade
20 questions
Parts of Speech
Quiz
•
5th Grade
Discover more resources for Education
6 questions
Secondary Safety Quiz
Presentation
•
9th - 12th Grade
10 questions
Afterschool Activities & Sports
Quiz
•
6th - 8th Grade
55 questions
CHS Student Handbook 26-27
Quiz
•
9th Grade
8 questions
Lancers 2.0
Quiz
•
7th Grade
20 questions
IR Writing 201
Quiz
•
University
25 questions
USCB Policies and Procedures
Quiz
•
University
14 questions
Review of Habits 3 and 4
Quiz
•
5th Grade
17 questions
Geographic Regions of Georgia
Presentation
•
8th Grade