Course details

Expanding Design Patterns

Expanding Design Patterns

Target Audience
Expected Duration
Lesson Objectives
Course Number
Expertise Level

One major benefit to using Domain-driven Design is the ability to integrate various other sources and processes. This course will explore and guide you through the ways to do this. You will be introduced to communication in Domain-driven Design followed by factories, repositories, and refactoring. Finally, you'll learn about methodologies and application architecture layers.

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

Expanding Design Patterns

  • start the course
  • recognize the roles of various layers in the DDD architecture
  • recognize the purpose of layered architecture in DDD
  • describe the use of service layers of DDD
  • describe the differences between domain experts and stakeholders
  • recognize the domain model boundaries and the effects
  • describe the use of ubiquitous language in DDD
  • describe best practices for communication in DDD
  • describe the benefits of modeling and communication in DDD
  • explain best practices for documenting communication in DDD
  • describe factories and how they're used in DDD
  • describe the benefits of factories
  • describe the interface of factories
  • explain the rationale for choosing factories
  • explain repositories and their uses
  • explain the benefits of repositories
  • explain the considerations for using relational databases
  • describe the concept of refactoring
  • explain the uses and levels of refactoring in DDD
  • explain the concept of deep models in DDD
  • explain the concept of supple design in DDD
  • explain the purpose of the discovery process in DDD
  • explain the linkages between Behavior-driven Development and Domain-driven Development
  • describe the use of event storming
  • describe the purposes of transaction scripting vs. DDD
  • recognize the concepts of various design patterns in DDD
  • Course Number:

    Expertise Level