Domain Driven Design is a technique commonly used to build Reactive Systems. This course will introduce the core elements of Domain Driven Design. It will also explain how those elements relate to Reactive Systems.
Overview
Syllabus
- Domain Driven Design
- An introduction to core Domain Driven Design concepts
- What is a domain?
- What is a ubiquitous language?
- Who are the domain experts?
- Decomposing the Domain
- Identifying activities within the domain
- Initial categorizing of activities
- Identifying Bounded Contexts
- Domain Building Blocks
- Domain Activities: Commands, Events, and Queries
- Domain Objects: Value Objects, Entities, and Aggregate Roots
- Domain Abstractions: Services, Factories, and Repositories
- Hexagonal Architecture
- What is it and how does it relate to Domain Driven Design
- Ports and Adapters
- Infrastructure, APIs and Domains