Course details

Components of Domain-driven Design

Components of Domain-driven Design

Target Audience
Expected Duration
Lesson Objectives
Course Number
Expertise Level

DDD enhances modeling through a total approach for building software for complex domains. With the various tools and strategies in the DDD architecture, the designer will have a more effective approach to domain modeling. In this course, you will learn additional information regarding further components, such as architecture, entities, value objects, services, and domain events. Finally you will learn about the concepts of modules, model-driven design, and aggregates.

Target Audience
Managers, architects, application and software developers, designers, or analysts with basic programming skills looking to enhance their skill set through Domain-driven Design


Expected Duration (hours)

Lesson Objectives

Components of Domain-driven Design

  • start the course
  • recognize the concept of layered architecture in DDD
  • describe event-driven architecture
  • describe aspects of representational state transfer and why it's used
  • describe the CQRS model
  • describe entities in DDD
  • define the unique identity attribute
  • describe best practices for entity modeling
  • describe value objects and characteristics
  • explain how to implement value objects
  • define domain services
  • explain the domain service within application layer
  • explain services in the domain layer
  • describe domain events and when and why to use them
  • recognize the various core concepts of domain events
  • describe domain event handling
  • describe the role of modules in DDD
  • recognize the purposes and practices of using modules in DDD
  • describe the purpose of agile models in DDD
  • describe the role of model-driven design
  • describe the differences and similarities between domain-driven and model-driven design
  • describe the role of aggregates
  • describe the benefits of aggregates
  • recognize the various guidelines when using aggregates
  • demonstrate creating a root entity with aggregates
  • recognize the components of DDD
  • Course Number:

    Expertise Level