Skip to main content

Reactive Architecture(2): Domain Driven Design

See how Domain Driven Design can be used to decompose a large business domain into smaller bounded contexts.




About This Course

Domain Driven Design is a technique commonly used to build Reactive Systems. This course will introduce the core elements of Domain Driven Design. It will also explain how those elements relate to Reactive Systems.

Earn this Badge

Successful completion of this course will entitle you to the following badge:

Course Syllabus

  • Domain Driven Design
    • An introduction to core Domain Driven Design concepts
    • What is a domain?
    • What is a ubiquitous language?
    • Who are the domain experts?
  • Decomposing the Domain
    • Identifying activities within the domain
    • Initial categorizing of activities
    • Identifying Bounded Contexts
  • Domain Building Blocks
    • Domain Activities: Commands, Events, and Queries
    • Domain Objects: Value Objects, Entities, and Aggregate Roots
    • Domain Abstractions: Services, Factories, and Repositories
  • Hexagonal Architecture
    • What is it and how does it relate to Domain Driven Design
    • Ports and Adapters
    • Infrastructure, APIs and Domains

General Information

  • This course is free.
  • It is self-paced.
  • It can be taken at any time.
  • The materials can be reviewed as many times as you want.
  • Quizzes and exams can only be completed once.

Grading scheme

  • The minimum passing mark for the course is 75%, where the review questions are worth 40%, the case study exercises are worth 30% and the final exam is worth 30% of the course mark.
  • You have 1 attempt to take the final exam with multiple attempts per question.

Course Length

  • Approximately 8 hours


  • Experience in the design of software systems.
  • Reactive Architecture: Domain Driven Design is the second course in the Lightbend Reactive Architecture Series. You should either understand all the concepts or have taken the first course in this series:

Course Staff

Wade Waldron

Wade Waldron

Wade Waldron is the Director of Training at Lightbend. He is the primary author of the Lightbend Reactive Architecture training course.

Wade started his career as a developer in 2005 building games for the Playstation 2, Xbox, etc. In 2011 he joined Point2 Homes where he began working on an Akka based microservices platform to provide realtime updates to real estate websites. In 2014 Wade joined BoldRadius where he consulted with a variety of companies on how to use Akka, and related technologies. He also began teaching courses on Akka and Scala.

In 2016, Wade released a book "Applied Akka Patterns" along with his co-author Michael Nash

Today Wade works with Lightbend where he consults with clients and builds training materials. He focuses on helping people make a smooth transition from a monolithic application to Reactive microservices.