bounded-context-canvas
bounded-context-canvas copied to clipboard
Deeply incorrect definition of BC
The first line of the readme says "A bounded context is a sub-system in a software architecture aligned to a part of your domain."
This is literally the opposite of what it is.
A Bounded Context is a boundary around a model and its language. Within this boundary, the meaning of terms is unambiguous, well-defined and understood. The model is clear and the rules are consistent. It offers no such guarantees outside of its boundary.
- It's not a subsystem, it might be spread across multiple subsystems. It might not have a physical system, such as an Interchange context.
- It might span multiple domains or only deal with a chunk of a single domain.
- A domain might be expressed in multiple bounded contexts, eg if we purchase a competitor that does similar activities.
This incorrect reasoning lies at the heart of the whole BC canvas and is probably responsible for a lot of misunderstanding in the DDD community.