Problem
Decomposing
an application using business capabilities might be a good start, but you will
come across so-called "God Classes" which will not be easy to
decompose. These classes will be common among multiple services. For example,
the Order class will be used in Order Management, Order Taking, Order Delivery,
etc. How do we decompose them?
Solution
For the
"God Classes" issue, DDD (Domain-Driven Design) comes to the rescue.
It uses subdomains and bounded context concepts to solve this problem.
DDD breaks the whole domain model created for the enterprise into
subdomains. Each subdomain will have a model, and the scope of that model will
be called the bounded context. Each microservice will be developed around the
bounded context.
Note:
Identifying subdomains is not an easy task. It requires an understanding of the
business. Like business capabilities, subdomains are identified by analyzing
the business and its organizational structure and identifying the different
areas of expertise.
No comments:
Post a Comment