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
Introduction
- Better apps with domain-driven design
Domain-Driven Design
- What is DDD
- How does DDD fit with agile
Microservices and Monoliths
- What is a microservice
- Advantages of microservices
Bounded Contexts and Entities
- What are contexts
- The ubiquitous language
- Same name, different entity
Reactive vs. Declarative Systems
- Orchestrated declarative systems
- Orchestrated reactive systems
Event Storming
- What is event storming
- The physical setup
- Demo - Events
- Demo - Activities flow
- Demo - Activities flow, part 2
- Demo - Activities flow, part 3
- Demo - Entities
- Demo - Contexts
- Demo - Context maps
- Demo - Entity maps
Conclusion
- Next steps