16:15 - 17:15
Software development is model building. We rebuild a part of the world as a program and improve it by doing so. A traditional approach is to reproduce the domain as accurate in every detail as possible – building the company-wide canonical domain model. But is this the actual goal of models? If we look close enough, we will see that a model is the exact oposite—a model is actually an abstraction of the reality in which only the essential parts are transferred. The inessential is left out of the model. What parts of the reality are essential or inessential is defined by the context.
A simple model is easier to understand than a complicated one. Therefore, it is a good idea to break a complex reality (i.e. domain) into multiple simple models. Exactly this effect is what the strategic design of DDD takes advantage of. Here instead of one complex company-wide model we build several small models that are easy to understand.
In this talk we look into bounded context and the other tools that are available to to divide the domain into clearly separated models.