
In this section of the workshop, we will on the payment domains.
Locate the two payment domains: PaymentService and DinersPaymentService.
- Looking at the spheres in the center pane, they are both being used by ModifyFulfillmentController.

Dynamic Classes
Both domains have 50% exclusivity and consist of two classes one exclusive and one non exclusive class
- The non-exclusive class, AbstractPaymentHttpClient is shared by both
- Select one of the domains, click on VIEW next to Dynamic classes
- Go to the Non-exclusive class
- And, click Details to see the services that are using it
- It will list both PaymentService and DinersPaymentService

Let’s merge these two domains into a single PaymentService.
- Go back to the domains screen:
- Select the DinersPaymentService sphere, drag it on top of the PaymentService sphere and confirm the merge.
- Wait for the analysis auto-run to complete.

Static classes
The resulting PaymentService has:
- 100% dynamic exclusivity
- 80% static class exclusivity, Click on VIEW next to Static Classes to view the details:
- The non-exclusive classes are Data Transfer Object (DTO) classes.
- Click on DETAILS next to ‘Not exclusive to the domain’ to view the details and we can see that the DTO Classes are also being used by the client service ModifyFulfillmentController.
- This is OK as it is part of the interface used between these two domains.



Resources
The resulting PaymentService after merge has 100% exclusivity for resouces.
Wrap Up
Now lets move to analyzing the Shipping Price Controller domain.
