I have a couple of business-related domains like Purchase
, Marketing
and Economy
. Having the models arranged into a namespace* for each domain would be nice, but there are some entities cutting across domains, like an Item
. How to organize those cross-cutting objects?
* = As in C#/Java/Python namespaces.
Since you have the concept of Bounded Context, you should not share domains between the namespaces. Actually, you should have one Item for each namespace that requires it, and each of those Item should have it's own fields as required by the context it is included.
As Eric Evans said, it is not a big deal replicate data in order to never share the same domain between contexts, but only data.