DDD: inter-domain referencing design issue? -
What are the DDD recommendations for inter-domain referenced designs?
Do I try to add them as "friends" (one in each other) or better to create upper level "inter-domain" business service?
PS crossing this smooth water, I was unable to find anything useful to read in the internet, and started thinking that the comparison of "inter-domain reference" for such things Better words exist in ... am I right?
Description:
- I have two models / business services
- Semantic first domain (A) with the sell / maintenance process for our items The CRM is the second domain (b) "Design" data of our goods. On our goods we have two visual points: From the perspective of the perspective perspective and the engineer
- Actually each model is effective for the same database ORM (object-relational mapping) tool.
- Some inter-domain activities are eg. Assumptions (like sometimes we can sell things to SMB, only if some engineering rules are valid).
From the developer's perspective, I have two clear possibilities (refer to Reference B in a reference B or reference domain / service C). But from a designer perspective, I understand what kind of business service I am when I write business logic from two different domains.
As far as I know, no strict rules for DDD's 'inter-domain' reference is not. At the end of the day, your domain model must refer to basic Java or .NET classes. Or it can refer to a particular date / time or graph library (aka 'generic domain').
On the other hand, DDD has a concept and there are quite a few patterns that can be implemented when you work on system boundaries. For example, the 'Anticorporation Layer' can be used to separate you from the legacy system. Other integration styles can be used based on your control over external code, team capabilities, etc.
So if there is no need to present the artificial glue layer, then you have two subdomains in a round reference. It may also be that Part 4 (Strategic Design) is readable.
Update:
Based on the information you provided, it seems that you have only one backend context. You do not feel like 'Linguistic conflict', where there is two different meanings of the same word. Context consolidation patterns converged in your situation are not the most applicable Your sales domain can directly refer to the product domain. If you think of products domains that have low levels and high levels of sales, then you can use it. Define the interface such as
ProductCompatiblityVivalidator in the sales area and apply it to the product domain. And then inject actual implementation at the application level. In this way you will not have a direct reference to the product from the sale.
Comments
Post a Comment