It is challenging to be nimble while working with a system that cannot manage rapid change. Domain-driven design (DDD), one of the best architectural methodologies for agile environments in general and microservices in particular, can be used to build systems that can endure change. In this course for programmers, software architects, business analysts, and product managers/owners, Allen Holub summarizes this key architectural process and shows how to use DDD to develop a microservice or other domain-focused solution. Alan covers the principles of DDD (and how it connects to agile), microservices, bounded contexts, and entities. Additionally, he discusses the differences between declarative and reactive systems and how to run an event storming session.
aims of education
What sets DDD apart from other architectural methods
How DDD complements agile
benefits of using microservices
Bounded things and contexts
Declarative versus reactive systems
Event storming is used to create a DDD architecture.
1. Better Apps with domain-driven design
2. What is DDD?
3. How does DDD fit with agile?
4. What is Microservice
5. Advantage of Microservices
6. What are contexts?
7. The ubiquitous language
8. same name, different entity
9. Orchestrated/declarative systems
10. Orchestrated/reactive system
11. What is event storming
12. The physical setup
13. Demo: Events
15. Demo: Activities flow
16. Demo: Activities flow, part 2
17. Demo: Activities flow, part 3
18. Demo: Entities
19. Demo: Contexts
20. Demo: contexts maps
21. Demo: Entity maps
22. Next Steps