Software Architecture: Domain-Driven Design
1h 20mIntermediate2019-09-18
Authors

Allen Holub
Software Architect, Agile Transformation Consultant
Course details
It's tough to be agile if you're working with a system that can't handle rapid change. Domain-driven design (DDD)—one of the most effective architectural approaches for both agile environments in general and microservices in particular—can help you build systems that can stand up to change. In this course, Allen Holub provides programmers, software architects, business analysts, and product managers/owners with an overview of this essential architectural process, demonstrating how to use DDD to develop a microservice or other domain-focused system. Alan goes over the basics of DDD (and how it fits with agile), microservices, and bounded contexts and entities. Plus, he compares reactive and declarative systems and details how to approach an event storming session.
Learning objectives
How DDD differs from other architectural approaches
How DDD fits with agile
Advantages of microservices
Bounded contexts and entities
Reactive vs. declarative systems
Using event storming to develop a DDD architecture
Learning objectives
How DDD differs from other architectural approaches
How DDD fits with agile
Advantages of microservices
Bounded contexts and entities
Reactive vs. declarative systems
Using event storming to develop a DDD architecture
Skills covered
Software DesignFoundationsSoftware Development
Concepts
0. Introduction
- 01 - Better apps with domain-driven design
1. Domain-Driven Design
- 02 - What is DDD
- 03 - How does DDD fit with agile
2. Microservices and Monoliths
- 04 - What is a microservice
- 05 - Advantages of microservices
3. Bounded Contexts and Entities
- 06 - What are contexts
- 07 - The ubiquitous language
- 08 - Same name, different entity
4. Reactive vs. Declarative Systems
- 09 - Orchestrated declarative systems
- 10 - Choreographed reactive systems
5. Event Storming
- 11 - What is event storming
- 12 - The physical setup
- 13 - Demo - Events
- 14 - Demo - Activities flow
- 15 - Demo - Activities flow, part 2
- 16 - Demo - Activities flow, part 3
- 17 - Demo - Entities
- 18 - Demo - Contexts
- 19 - Demo - Context maps
- 20 - Demo - Entity maps
Conclusion
- 21 - Next steps