Preview this course
₹299 ₹499 40% off
incl. GST
left at this price!
Sign up to buy Already a member? Log in

7-day money-back guarantee

Bestseller Recently updated System Design · Programming

Domain-Driven Design Masterclass

Tame Complex Business Logic — model complex business domains the way senior engineers do, with strategic and tactical DDD built end to end on one coherent e-commerce domain.

4.2 (49 ratings) Created by Thomas Berger
Advanced 189 lessons 27h 59m Updated Jun 2026 English
Preview this course
₹299 ₹499 40% off
incl. GST
left at this price!
Sign up to buy Already a member? Log in

7-day money-back guarantee

What you'll learn

Apply strategic DDD: split a domain into core, supporting and generic subdomains and draw bounded-context boundaries
Run collaborative discovery with EventStorming, Domain Storytelling and Example Mapping, and forge a ubiquitous language that lives in the code
Map relationships between contexts (partnership, customer–supplier, ACL, open host service, published language) on a context map
Model rich domains with entities, value objects and aggregates that protect their invariants under concurrency
Place behavior correctly with domain services, and persist aggregates through repositories without leaking infrastructure
Decouple the system with domain events, and structure it with layered, hexagonal and clean architecture using Spring Modulith
Apply CQRS and event sourcing where they pay off — and recognize the situations where they do not
Map bounded contexts to modular monoliths and microservices, integrate with anti-corruption layers and sagas, and test the domain like the asset it is

This course includes

27h 59m of on-demand content
189 lessons across 22 sections
Access on mobile and desktop
Certificate of completion
Lifetime access
Curriculum

Course content

22 sections · 189 lessons · 27h 59m

The Cost of Complexity Preview 9 min
When to Use DDD (and When Not To) 9 min
Strategic vs. Tactical Design 9 min
The ShopSphere Domain 9 min
Tooling Baseline: Java 21 / Spring Boot 9 min

What is a Domain? 9 min
Domain vs. Application vs. Model 9 min
Core, Supporting & Generic Subdomains 9 min
Identifying the Core Domain 9 min
Problem Space vs. Solution Space 9 min
Exercise: Classify ShopSphere Subdomains 14 min
Section 2 Quiz · Understanding the Domain & Subdomains 5 min

Working with Domain Experts 9 min
Knowledge Crunching & Questioning 9 min
EventStorming Fundamentals 9 min
Big-Picture EventStorming 9 min
Process- & Design-Level EventStorming 9 min
Domain Storytelling 9 min
Example Mapping 9 min
Running a ShopSphere Discovery Workshop 9 min
Lab: EventStorm 'Place an Order' 14 min
Section 3 Quiz · Knowledge Crunching & Collaborative Discovery 5 min

Why Shared Language Matters 9 min
Building a Ubiquitous Language 9 min
Language and Model Are One 9 min
Naming Anti-Patterns & Translation 9 min
Creating & Maintaining a Glossary 9 min
Ubiquitous Language in Code (jMolecules) 9 min
Exercise: Build a ShopSphere Glossary 14 min
Section 4 Quiz · Ubiquitous Language 5 min

The Problem of One Big Model 9 min
What is a Bounded Context? 9 min
Bounded Context vs. Subdomain 9 min
Identifying Context Boundaries 9 min
The Bounded Context Canvas 9 min
Splitting ShopSphere into Contexts 9 min
Exercise: Marketplace Bounded Contexts 14 min
Section 5 Quiz · Bounded Contexts 5 min

What is a Context Map? 9 min
Partnership 9 min
Shared Kernel 9 min
Customer–Supplier 9 min
Conformist 9 min
Anti-Corruption Layer 9 min
Open Host Service 9 min
Published Language 9 min
Separate Ways & Big Ball of Mud 9 min
ShopSphere Context Map + Conway's Law 9 min
Exercise: Integration Strategies 14 min
Section 6 Quiz · Context Mapping 5 min

Layered Architecture 9 min
The Dependency Rule 9 min
Hexagonal Architecture (Ports & Adapters) 9 min
Onion & Clean Architecture 9 min
Where the Building Blocks Live 9 min
Project Structure with Spring Modulith 9 min
Exercise: Ports & Adapters Refactor 14 min
Section 7 Quiz · Architecting a DDD Application 5 min

Introduction to Tactical Design 9 min
Entities: Identity & Lifecycle 9 min
Encapsulation & Invariants 9 min
Value Objects: Equality & Immutability 9 min
Effective Value Objects with Records 9 min
Refactoring Primitive Obsession 9 min
Modules / Packaging 9 min
Exercise: Money & Quantity Value Objects 14 min
Section 8 Quiz · Entities & Value Objects 5 min

Why Aggregates Exist 9 min
Aggregate Roots 9 min
Consistency Boundaries 9 min
The Four Aggregate Design Rules 9 min
Reference by Identity 9 min
Large vs. Small Aggregates 9 min
Common Aggregate Mistakes 9 min
Factories 9 min
Project: Design the Order Aggregate 14 min
Section 9 Quiz · Aggregates 5 min

Behavior Placement Challenges 9 min
What is a Domain Service? 9 min
Domain Service vs. Application Service 9 min
Domain Service Design Guidelines 9 min
The Specification Pattern 9 min
Real-World Examples 9 min
Exercise: Find the Misplaced Logic 14 min
Section 10 Quiz · Domain Services & Logic Placement 5 min

Persistence Ignorance 9 min
Repository Pattern Fundamentals 9 min
Designing Repository Interfaces 9 min
Repositories & Aggregate Boundaries 9 min
The ORM Impedance Mismatch 9 min
Mapping Aggregates with JPA/Hibernate 9 min
Repository Anti-Patterns 9 min
Exercise: Implement the OrderRepository 14 min
Section 11 Quiz · Repositories & Persistence 5 min

Why Domain Events Matter 9 min
Event Modeling 9 min
Designing Domain Events 9 min
Publishing Events from Aggregates 9 min
Event Handlers 9 min
Event-Driven Collaboration 9 min
Eventual Consistency 9 min
Project: Order-Fulfillment Event Flow 14 min
Section 12 Quiz · Domain Events 5 min

Application Services 9 min
Command Handling 9 min
Query Handling 9 min
Transaction Management 9 min
Use-Case Orchestration 9 min
Cross-Cutting Concerns 9 min
Lab: The 'Place Order' Use Case 14 min
Section 13 Quiz · Application Layer & Use-Case Orchestration 5 min

Understanding CQRS 9 min
Commands vs. Queries 9 min
Read Models & Projections 9 min
When Not to Use CQRS 9 min
CQRS Tradeoffs 9 min
CQRS in Java with Axon / Spring 9 min
Lab: Refactor CRUD into CQRS 14 min
Section 14 Quiz · DDD and CQRS 5 min

Event Sourcing Fundamentals 9 min
The Event Store 9 min
Rebuilding State 9 min
Snapshots 9 min
Event Versioning & Upcasting 9 min
Projections from Event Streams 9 min
Challenges & When to Avoid 9 min
Project: Event-Sourced Order with Axon 14 min
Section 15 Quiz · DDD and Event Sourcing 5 min

Models Evolve 9 min
Intention-Revealing Interfaces 9 min
Side-Effect-Free Functions & Assertions 9 min
Closure of Operations & Standalone Classes 9 min
Declarative Design with Specifications 9 min
Listening for Breakthroughs 9 min
Lab: Refactor the ShopSphere Cart 14 min
Section 16 Quiz · Refactoring Toward Deeper Insight & Supple Design 5 min

The 'DDD = Microservices' Myth 9 min
The Modular Monolith 9 min
Bounded Contexts as Service Boundaries 9 min
Data Ownership & Database-per-Service 9 min
Inter-Service Communication 9 min
Integration via ACL & Published Language 9 min
Distributed Transactions & the Saga Pattern 9 min
Process Managers vs. Sagas 9 min
Strangler Fig: Modernizing Legacy 9 min
Project: Decompose ShopSphere into Services 14 min
Section 17 Quiz · Modular Monoliths & Microservices 5 min

Testing Philosophy 9 min
Unit-Testing Aggregates 9 min
Testing Domain Services 9 min
Testing Domain Events 9 min
Specification by Example / BDD 9 min
Architecture Tests with ArchUnit 9 min
Lab: Build a Domain Test Suite 14 min
Section 18 Quiz · Testing Domain Models 5 min

Anemic Domain Model 9 min
Large Aggregates 9 min
Overusing Repositories 9 min
Leaky Infrastructure 9 min
Cargo-Cult DDD 9 min
Premature Microservices 9 min
When Simplicity Wins 9 min
Exercise: Improve Flawed Designs 14 min
Section 19 Quiz · DDD Anti-Patterns & Common Mistakes 5 min

Business Problem Overview 9 min
Domain Discovery 9 min
Context Identification 9 min
Aggregate Design 9 min
Event Design 9 min
Architecture Walkthrough 9 min
Lessons Learned 9 min

Requirements Analysis 14 min
EventStorming Session 14 min
Ubiquitous Language Definition 14 min
Bounded Context Design 14 min
Aggregate Modeling 14 min
Domain Events Design 14 min
Repository & Persistence Design 14 min
Application Layer & CQRS Integration 14 min
Architecture Review 14 min
Final Solution Walkthrough 14 min

Common DDD Interview Questions 9 min
System Design with DDD 9 min
Whiteboard Modeling Exercises 9 min
Architecture-Review Scenarios 9 min
Senior-Engineer DDD Discussions 9 min
DDD Roadmap & Resources 9 min

Requirements

  • Comfort with Java (or a similar object-oriented language) and solid OOP fundamentals
  • Some hands-on backend / application development experience
  • Java 21 and Spring Boot to run the worked ShopSphere examples (recommended, not required to follow along)

Description

Model complex business domains the way senior engineers do

Most "DDD" tutorials stop at definitions. This masterclass turns tangled, ever-changing business rules into software that is a pleasure to extend — and it does it end to end on one coherent ShopSphere e-commerce domain, so your skills compound instead of resetting between disconnected examples.

Strategic and tactical, on one domain

You'll learn both halves of Domain-Driven Design and how they fit together:

  1. Strategic Design (Sections 1–7) — subdomains, bounded contexts, context mapping, and the architecture that keeps the domain pure: layered, hexagonal, onion/clean, and Spring Modulith.
  2. Tactical Design (Sections 8–13) — entities, value objects, aggregates and their invariants, domain services, repositories, and domain events.
  3. Architecture & Scale (Sections 14–22) — CQRS, event sourcing, modular monoliths and microservices, the saga pattern, testing the domain, the anti-patterns that sink real projects, a full case study, a capstone build, and senior-level interview prep.

Discover, model, and code in one language

You'll run modern collaborative discovery — EventStorming, Domain Storytelling and Example Mapping — forge a ubiquitous language that lives in conversations, docs and code, and then express that model directly in Java 21 and Spring Boot.

Build, don't just watch

Most sections close with a hands-on lab or project that adds a concrete capability to ShopSphere, plus a quiz so you can check your understanding before moving on. By the capstone you'll have modelled and built a portfolio-grade DDD system from discovery to architecture.

Who this is for

Intermediate-to-advanced developers and architects who want to tame complex business logic. You should be comfortable with Java (or a similar object-oriented language) and have some backend experience; everything DDD-specific is taught from the ground up.

Your instructor
T

Thomas Berger

Java, Design Patterns & Low-Level Design · 15 yrs · Principal Engineer, Zentech

4.2 course rating 4 courses

Thomas is a 15-year JVM veteran who has shipped large Java platforms and mentored dozens of engineers through senior promotion. He is obsessed with clean object modelling, design patterns applied with restraint, and the kind of low-level design that holds up under a real interview loop.

4.2 course rating · 49 ratings

M
Mrs. Marta Towne
2 months ago

Happy with this. The explanations are clear and the structure makes it easy to come back to.

Helpful?
D
Dr. Sharon Gutkowski
8 months ago

Really solid course. A couple of sections felt a little rushed, but overall excellent value.

Helpful?
D
Dr. Luis Johns V
10 months ago

Great content and well organised. I would have loved a few more practice exercises.

Helpful?
L
Lucie Oberbrunner
11 months ago

Loved every lesson. Concise, practical, and immediately applicable to my day-to-day work.

Helpful?

Frequently asked questions

Yes — once you enroll, the course is yours to revisit forever. New revisions and bonus lessons are added at no extra cost.

Finish every lesson and you'll unlock a shareable certificate you can post on LinkedIn or include with job applications.

If the course isn't a fit, request a refund within 7 days of purchase — no questions asked.

Code, slides, and worksheets are downloadable on each lesson page. Videos stream from our CDN so you can watch on any device.

Each course states its level in the hero. If you're comfortable with the prerequisites listed, you're ready to start.

Students also bought

₹299 ₹499
Sign up to buy