# Bounded Context

> A rule or precondition that each domain model holds inside one explicit boundary, where its terms have one meaning.

Record: `architecture:bounded-context`
Kind: constraint
Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)
Severity: recommended
Scope: domain, service, team
Aliases: Bounded Contexts
Canonical: https://banes-lab.com/ontology#architecture-bounded-context

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Domain Model](https://banes-lab.com/records/architecture/domain-model.md) and before [Context Mapping](https://banes-lab.com/records/architecture/context-mapping.md).

## Repair

- Refactored by: Split Model, Add Anti-Corruption Layer, Define Context Map
- Detected by: shared domain entities across contexts
- Violated by: cross-context model leakage
- Measured by: context coupling
- Enforced by: package/service boundaries

## Requires

- [Explicit Boundaries](https://banes-lab.com/records/architecture/explicit-boundaries.md)
- [Ubiquitous Language](https://banes-lab.com/records/architecture/ubiquitous-language.md)

## Reinforces

- [Modularity](https://banes-lab.com/records/architecture/modularity.md)
- [Autonomy](https://banes-lab.com/records/architecture/autonomy.md)

## Enables

- [Context Mapping](https://banes-lab.com/records/architecture/context-mapping.md)
- [Microservices](https://banes-lab.com/records/architecture/microservices.md)

## Conflicts with

- [Shared Global Model](https://banes-lab.com/records/lexicon/shared-global-model.md)

## In tension with

- [Cross-Context Reuse](https://banes-lab.com/records/lexicon/cross-context-reuse.md)

## Tensions

- [Bounded Context / Cross-Context Reuse](https://banes-lab.com/records/tension/bounded-context-cross-context-reuse.md)

## Contracts

- [Domain Modeling](https://banes-lab.com/records/algorithms/domain-modeling.md)

## Severity

- [recommended](https://banes-lab.com/records/vocabulary/severity-recommended.md)

## Category

- [Domain Architecture](https://banes-lab.com/records/architecture-category/domain-architecture.md)

## Required by

- [Domain-Driven Design](https://banes-lab.com/records/architecture/domain-driven-design.md)

## Reinforced by

- [Package by Feature](https://banes-lab.com/records/architecture/package-by-feature.md)

## Linked from

- [When rules collide](https://banes-lab.com/disciplined-methodology/plan/when-rules-collide.md)
- [A concern is a component](https://banes-lab.com/software-architecture/scale/a-concern-is-a-component.md)
- [The principle architecture](https://banes-lab.com/software-architecture/glossary/the-principle-architecture.md)
- [Domain Architecture](https://banes-lab.com/ontology/principles/architecture-category-domain-architecture.md)
- [Core Modular Design](https://banes-lab.com/ontology/principles/architecture-category-core-modular-design.md)
- [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/principles/architecture-category-schema-canonical-data-semantics.md)
- [Codebase / System Architecture Styles](https://banes-lab.com/ontology/principles/architecture-category-codebase-system-architecture-styles.md)
- [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- [Architectural Clusters](https://banes-lab.com/ontology/algorithms/algorithms-domain-architectural-clusters.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
