Overview
Domain Driven Design (DDD) is an approach for handling complex behaviors when developing software.
Course Outline
What Is Domain-Driven Design (DDD)
- Building Domain Knowledge
The Ubiquitous Language
- The Need for a Common Language
- Creating the Ubiquitous Language
- The Building Blocks Of A Model-Driven Design
- Layered Architecture
- Entities
- Value Objects
- Services
- Modules
- Aggregates
- Factories
- Repositories
Refactoring Toward Deeper Insight
- Continuous Refactoring
- Bring Key Concepts Into Light
Preserving Model Integrity
- Bounded Context
- Continuous Integration
- Context Map
- Shared Kernel
- Customer-Supplier
- Conformist
- Anticorruption Layer
- Separate Ways
- Open Host Service
- Distillation