Conformist
The downstream deliberately adapts to the upstream contract and accepts its terminology and change cadence.
- UpstreamDefines the contract.
- DownstreamAdopts the model.
- DependencyChange risk stays visible.
Context
Why this is important
Deliberately accept an asymmetric upstream dependency and protect against its effects.
A relationship between Bounded Contexts in strategic Domain-Driven Design.
Conformist and translation boundary
The shop remains a modular monolith with seven modules and a shared deployment; this relationship describes model ownership.
This is how you read the picture
- Upstream Model ownership
- Downstream Adaptation
- Dependency Contract test
| Criterion | Conformist | Translation layer |
|---|---|---|
| Model | Adopts upstream | Local model stays stable |
| Effort | Low while changes are few | Maintain translation logic |
| Control | Limited | Higher |
Benefits & limitations
Helps if:
- The downstream has little influence over contract changes and adaptation remains economically acceptable.
- The upstream contract is sufficiently documented and changes are visible.
Boundaries
- Upstream terms can improperly shape local language and rules.
- Frequent incompatible changes make adoption costly and risky.
In practice
- Document which upstream terms and fields are adopted and where the downstream uses them. Map each adopted meaning to the affected local rules and mark places where domain language differs.
- Track version notices and add contract tests for the properties the downstream actually needs. Also decide who resolves unclear upstream semantics and how urgent changes are surfaced.
- For each major change, reassess whether direct adoption still fits or a translation layer would protect the local model. Include failure impact and maintenance effort in the decision.
Read the detailed explanation
Conformist describes an asymmetric relationship: the upstream defines its model and the downstream adopts it. This avoids translation and negotiation effort, but the downstream bears the effects of business or technical changes. The pattern suits bounded integrations when the contract is stable enough and the dependency is accepted deliberately.
A Context Map names the asymmetric relationship; an Anti-Corruption Layer is an alternative when the upstream model would distort the local model.
Check your understanding
Test yourself in three stages
ReadingCheck in the picture
Who defines the upstream contract in Conformist?
View the solution with justification
The upstream context.
ApplyingTransferred to a new situation
What helps detect changes to needed fields?
View the solution with justification
Documented dependencies and focused contract tests.
EvaluateWeighing an alternative
When is Conformist risky?
View the solution with justification
When upstream terms shape local rules or the contract changes incompatibly often.
Explore further
These building blocks continue the thoughts of this page.
References
- Eric Evans · DDD Reference (opens in new tab)Primary reference on Context Mapping and relationship patterns.
- Vaughn Vernon · Implementing Domain-Driven Design (opens in new tab)Practical book on context boundaries and team relationships.
- Domain-Driven Design Reference · Strategic Design (opens in new tab)Terminology reference for strategic DDD.