Содержание
- 2. Agenda What is Domain-Driven Design? What are the key concepts of the DDD approach? How DDD
- 3. Trends: Microservices vs Domain-Driven Design
- 4. Trends: Microservices vs Domain-Driven Design "Data source: Google Trends (www.google.com/trends)"
- 6. What is the right size of a service in the microservice architecture?
- 7. What is the right size of a service in the microservice architecture?
- 8. What is the right size of a service in the microservice architecture? Microservice = Business capability
- 9. Agenda What is Domain-Driven Design? What are the key concepts of the DDD approach? How DDD
- 10. “Domain-Driven Design: Tackling Complexity in the Heart of Software” by Eric Evans “Implementing Domain-Driven Design” by
- 11. DDD is an approach for building complex software applications that is centered on the development of
- 12. Agenda What is Domain-Driven Design? What are the key concepts of the DDD approach? How DDD
- 13. Domain-Driven Design Tactical patterns Strategic patterns Ubiquitous Language Domain Domain model Context Map Bounded Context Sub-domain
- 14. Agenda What is Domain-Driven Design? What are the key concepts of the DDD approach? How DDD
- 15. Microservices dilemma Monolith first Microservices first
- 16. Three steps to defining an application’s microservice architecture Identify system operations Identify services Define service APIs
- 17. Three steps to defining an application’s microservice architecture Identify system operations:
- 18. DDD toolbox: Ubiquitous Language
- 19. DDD toolbox: Ubiquitous Language Turn on Turn off
- 20. Ubiquitous Language: Extracting a Hidden Concept
- 21. Ubiquitous Language: Extracting a Hidden Concept
- 22. Ubiquitous Language: Extracting a Hidden Concept
- 23. DDD toolbox: Domain, Subdomain
- 24. Result of using Ubiquitous Language, Domain and Subdomain
- 25. Three steps to defining an application’s microservice architecture Identify services:
- 26. Patterns for decomposing an application into services Decompose by business capability Decompose by subdomain
- 27. DDD toolbox: Bounded Context Explicitly set boundaries in terms of team organization Explicitly define the context
- 28. Bounded Context: possible problems Duplicate concepts False cognates Customer Client Order
- 29. God classes preventing decomposition
- 30. God classes preventing decomposition
- 31. DDD toolbox: Aggregate The atomic unit for any transactional behavior. Responsible for maintaining any/all business invariants.
- 32. Reference other aggregate roots via identity (primary key) Aggregate: Rule #1
- 33. Aggregate: Rule #2 One transaction creates or updates one aggregate (Transaction scope = service) X X
- 34. Aggregate granularity Product Order Customer Product Order Customer Product Order Customer Consistency Scalability
- 35. DDD & Microservices Apply strategic DDD to identify microservices (bounded context, ubiquitous language, context map) Apply
- 36. What is the right size of a service in the microservice architecture? “...Microservice should be no
- 37. What is the right size of a service in the microservice architecture?
- 38. Useful links Domain-Driven Design: Tackling Complexity in the Heart of Software Implementing Domain-Driven Design Microservices Patterns:
- 40. Скачать презентацию