Architecture Practice

Bounded Context

Also known as: DDD bounded context

Definition

A bounded context is an explicit boundary within which a domain model and its terms have one consistent meaning. Outside it, the same word may mean something different — and that is expected. It is the primary tool for deciding where a system should split.

Last reviewed · Part of the Architecture Glossary

In practice

The test is linguistic and it is surprisingly reliable: find a noun the business uses differently in two conversations, and you have found a boundary.

"Customer" in an e-commerce business:

ContextWhat "customer" means
SalesA lead with a pipeline stage and an owner
BillingA legal entity with a tax ID and payment terms
SupportA person with a ticket history and a contact preference
ShippingAn address with delivery constraints

The wrong response is one Customer table with 60 nullable columns that four teams fight over. The right response is four models with their own storage, linked by a shared identifier, translating at the edges via an anti-corruption layer.

Contexts are also the natural service boundary. A service that does not own a full context ends up making synchronous calls to complete every operation — that is a distributed monolith, and it is worse than the monolith it replaced.

When it matters

Decomposing a monolith, drawing service boundaries, resolving the recurring argument about which team owns a shared table.

Common mistake

Splitting by technical layer or by entity — user-service, order-service, notification-service — instead of by language boundary. Entity-per-service guarantees that every business operation spans several services, which is exactly the coupling the split was meant to remove.

See also

Go deeper