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
Introduction to DDD
- start the course
- describe the basic concept of DDD
- describe the DDD approach
- describe DDD, including domains and contexts
DDD Components
- describe the various components of DDD
- describe the domain model in DDD
- describe the model-driven design map
Why DDD?
- describe the benefits of DDD
- describe the business value of DDD
- describe the drawbacks of DDD
- describe the misconceptions of DDD
Knowledge Crunching
- 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
DDD Building Blocks
- 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
Subdomains and Contexts
- describe the purpose of generic subdomains
- describe subdomains and their purpose
- describe bounded contexts
- describe context maps
Practice: DDD Architecture - Introduction
- recognize the various building blocks and architectures of DDD