Description
In this course, you will :
- Understanding of what Domain Driven Design entails
- Understanding of the patterns that DDD promotes
- Understanding of tactical and strategic approaches
- Understanding of techniques for mapping a domain into code
Syllabus :
1. Introduction
- Preface
- What is a Domain?
- What is a Subdomain?
- What is Domain Driven Design?
- Benefits and Drawbacks of Domain Driven Design
2. Mapping Domain to Model
- Event Storming
- Ubiquitous Language
- Bounded Context
- Context Maps
- Maintaining Purity
- Shared Kernel
3. Domain Activities
- Commands
- Events
- Queries
4. Domain Objects
- Entities
- Value Objects
- Aggregates
- Aggregate Root
5. Domain Abstractions
- Repositories
- Factories
- Services
6. Hexagonal Architecture
- What is Hexagonal Architecture?
- Principles
- Layers
- Domain Layer
- Use Case Layer
- Port Layer
- Adapter Layer
- The Benefits and Drawbacks of Hexagonal Architecture