Standalone conceptRelationshipChapter I · Domain · Building block 15 of 18

Conformist

The downstream deliberately adapts to the upstream contract and accepts its terminology and change cadence.

  1. UpstreamDefines the contract.
  2. DownstreamAdopts the model.
  3. 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.

Shop example · Mapping

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

  1. Upstream Model ownership
  2. Downstream Adaptation
  3. Dependency Contract test
Conformist and translation boundary
CriterionConformistTranslation layer
ModelAdopts upstreamLocal model stays stable
EffortLow while changes are fewMaintain translation logic
ControlLimitedHigher
The choice compares low translation cost with local model control.

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

  1. 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.
  2. 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.
  3. 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

  1. ReadingCheck in the picture

    Who defines the upstream contract in Conformist?

    View the solution with justification

    The upstream context.

  2. ApplyingTransferred to a new situation

    What helps detect changes to needed fields?

    View the solution with justification

    Documented dependencies and focused contract tests.

  3. 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.

Continue on the learning path

Next in Domain Modelling & DDD: Customer-Supplier.