Bounded contexts
We have the beginnings of an outline for our subscription system. We have even described some ubiquitous language to describe the system. What if someone from a different area of a business came to discuss customers with us? The first thing we should do is define what a customer means to them as it may mean something different within their bounded context.
Bounded contexts are all about dividing large models into smaller, easier-to-understand chunks and being explicit about how they relate to each other.
Another way to think of them is a boundary—when we define a term in one context, it does not need to mean the same in another (although there are likely similarities). For example, if we were to draw a diagram for our subscription system, it might look like this:
Figure 2.2 – A domain map of our subscription context and how different objects are related
But after speaking to marketing and understanding their context just...