What is the difference between subdomain and bounded Context?

What is the difference between subdomain and bounded Context?

In DDD, a subdomain in the problem space is mapped to a bounded context in the solution space. A bounded context is an area of the application that requires its own ubiquitous language and its own architecture. Likewise, a subdomain is a segment of the domain, and a bounded context is a segment of the solution.

What is the role of bounded Context in domain driven design?

Each bounded context contains a domain model that represents a particular subdomain of the larger application. Within a bounded context, apply tactical DDD patterns to define entities, aggregates, and domain services.

Can a subdomain have multiple bounded contexts?

Since a bounded context is a boundary for a model, it could include concepts from multiple subdomains. Or a single subdomain could be modelled as multiple bounded contexts.

What is a bounded Context in DDD?

Bounded Context and Ubiquitous Language. To solve the addressed issue, DDD provides the concept of Bounded Context. A Bounded Context is a logical boundary of a domain where particular terms and rules apply consistently. Inside this boundary, all terms, definitions, and concepts form the Ubiquitous Language.

What is the difference between a sub-domain and a bounded context?

A sub-domain delimits a domain and exists within the problem space. A bounded context delimits the domain modeland exists within the solution space. The ideal is full alignment between a sub-domain and a bounded context, however in practice a degree of flexibility must be accepted in this regard.

How are subdomains defined in Domain Driven Design?

Vaughn Vernon in his book “ Implementing Domain-Driven Design ” states that Subdomains live in the space of the problem and the Bounded Contexts in the solution space. With this it is clear to differentiate that, Subdomains are logical “ separations ” of the domain and Bounded Contexts are technical solutions.

How are sub domains related to problem space?

User needs and problems exist in a (sub)domain (s), the current state of the world has (sub)domains, the solution will involve multiple (sub)domains and it will alter the state of the world (which has domains). Therefore, (sub)domains logically exist in all spaces.

Which is better core domain or core subdomain?

Core Domain sounds better, Core Subdomain emphasises that there is a higher-level domain to which this belongs. The most confusing terms are problem space and solution space. Everybody has a different view on what lives in the problem space and what lives in the solution space in the context of Domain-Driven Design.