Font size:


This is a bundled training package. It contains training for each of the bundled items below:

Course Price
Expanding Design Patterns $74.95
Introduction to Domain-driven Design $74.95
Components of Domain-driven Design $74.95

Bundle Price: $139.00
Total Savings: $85.85

Expanding Design Patterns

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.

Learning Objectives
  • 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

Introduction to Domain-driven Design

There are many benefits to using Domain-driven Design (DDD) and this course will demonstrate the key concepts of the Domain-driven Design model. This course will introduce DDD, help you understand the main principles and components of DDD, why it can be useful, and what knowledge crunching is. Finally, this course will introduce you to the main building blocks of DDD, and a discussion of subdomains and contexts.

Learning Objectives
  • Start the course
  • Describe the basic concept of DDD
  • Describe the DDD approach
  • Describe DDD, including domains and contexts
  • Describe the various components of DDD
  • Describe the domain model in DDD
  • Describe the model-driven design map
  • Describe the benefits of DDD
  • Describe the business value of DDD
  • Describe the drawbacks of DDD
  • Describe the misconceptions of DDD
  • Describe the need for knowledge crunching
  • Describe best practices for conducting domain expert interviews
  • Describe knowledge crunching from the developer perspective
  • Describe knowledge crunching from the domain expert's perspective
  • Describe the key aspects of continuous learning
  • Describe the key aspects of knowledge-rich design
  • Describe the uses of documents and diagrams in DDD
  • Describe the key aspects of the domain model in DDD
  • Describe the key role of domain experts in DDD
  • Describe the purpose of the core domain
  • Describe the purpose of generic subdomains
  • Describe subdomains and their purpose
  • Describe bounded contexts
  • Describe context maps
  • Recognize the various building blocks and architectures of DDD

Components of Domain-driven Design

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
  • 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
Register Now
Domain-driven Design e-learning bundle
  • Course ID:
  • Duration:
  • Price: