DDD and its importance for microservices
Domain-Driven Design (DDD) is a methodology and a process of designing complex systems. In this section, we will briefly discuss DDD and how it is important in the context of microservices.
Domain model design
The main objective of domain design is to understand the exact domain problems and then draft a model that can be written in any set of language/technologies. For example, in our Flix One bookstore application, we need to understand Order Management and Stock Management.
Here are a few characteristics of the domain-driven model:
- A domain model should focus on a specific business model and not across multiple business models
- It should be reusable
- It should be designed in a way that it should be called in the loosely coupled way, unlike the rest of the system
- It should be designed independently of persistence implementations.
- It should be pulled out from a project to another location, so it should not be based on any infrastructure framework.