An enterprise model is usually very large and complex. It may be distributed between different departments in an organization. Each department may have a separate leadership team, so working and designing together can create difficulty and coordination issues. In such scenarios, maintaining the integrity of the domain model is not an easy task.
In such cases, working on a unified model is not the solution, and large enterprise models need to be divided into different sub-models. These sub-models contain the predefined accurate relationship and contract in minute detail. Each sub-model has to maintain the defined contracts without any exception.
There are various principles that can be followed to maintain the integrity of a domain model, and these are listed as follows:
Bounded context
Continuous integration
Context map:
Shared kernel
Customer-supplier
Conformist
Anti-corruption layer
Separate ways
Open Host Service
Distillation