I become to believe that the (sub)domain and bounded context and domain model concepts aren't that confusing. The domain is the subject matter, it's an aspect of reality that exists irrespectively of anything we feel, mean and reason about. It the matter of reality, which remains unchanged regardless of what we think and feel. It makes the domain something in the problem space entirely as it's the problems of the domain we are trying to solve by software.

The domain model concept, as well as the bounded context idea belong to the solution space as we try to model the domain concept contextually, separating the specific context of the domain within certain boundaries. We try to isolate the specifics of the domain using linguistic and business boundaries, giving each domain concept its explicit meaning within a certain context. That makes the model and the bounded context parts of the solution space, where the model and the bounded context find their natural habitat. The domain is broad, wild and implicit. It represents an area of the human activity regardless or our perception about it. Our attempts to make implicit explicit make the domain model and bounded context patterns valid and appropriate as we care about specific parts of the domain in the specific context in software we create to solve particular aspects of the problem space.

Alexey is the Event Sourcing and Domain-Driven Design enthusiast and promoter. He works as a Developer Advocate at Event Store and Chief Architect at ABAX.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store