• Online, Self-Paced
Course Description

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.

Learning Objectives

DDD Architecture

  • 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

DDD Entities

  • describe entities in DDD
  • define the unique identity attribute
  • describe best practices for entity modeling

Working with Value Objects

  • describe value objects and characteristics
  • explain how to implement value objects

DDD Services

  • define domain services
  • explain the domain service within application layer
  • explain services in the domain layer

Domain Events

  • describe domain events and when and why to use them
  • recognize the various core concepts of domain events
  • describe domain event handling

Modules

  • 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

Model-driven Design

  • describe the role of model-driven design
  • describe the differences and similarities between domain-driven and model-driven design

DDD Aggregates

  • describe the role of aggregates
  • describe the benefits of aggregates
  • recognize the various guidelines when using aggregates
  • demonstrate creating a root entity with aggregates

Practice: DDD Concepts and Implementations

  • recognize the components of DDD

Framework Connections

The materials within this course focus on the Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.

Feedback

If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.