Bounded Context
Problem
The word:
Customer
means something different to Sales, Billing and Support.
Trying to create one universal Customer model produces an enormous compromised object.
Solution — Bounded Context
Allow concepts to have precise meanings inside explicit domain boundaries.
Sales.Customer
Billing.Customer
Support.Customer
Core idea: bounded contexts prevent different domain meanings from being forced into one model.