Expanding Design Patterns

Domain-driven Design
  • 25 Videos | 56m 3s
  • Includes Assessment
  • Earns a Badge
Likes 41 Likes 41
One major benefit to DDD is the ability to integrate various other sources and processes. Explore communication in DDD, factories, repositories, and refactoring, as well as methodologies and  application architecture layers.


  • 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