Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DDD: What is the scope of the ubiquitous language? Is it domain or bounded context?

One key concept in Domain-Driven Design (DDD) is the ubiquitous language.

What is the typical scope (consistency border) of such a ubiquitous language? Is it scoped by the bounded context (e.g. a system/component in a certain domain) or by the domain itself? In bigger enterprises, different systems (i.e. bounded contexts) might implement the same domain.

My assumption is that it's bound to a bounded context as consistency cannot be guaranteed across multiple bounded context (even if they belong to the same domain) but I am not sure.

like image 274
tschaena Avatar asked Mar 31 '16 09:03

tschaena


People also ask

What is ubiquitous language in Domain-Driven Design?

A ubiquitous language is a vocabulary shared by everyone involved in a project, from domain experts to stakeholders, to project managers, to developers.

What is a domain bounded context?

A bounded context is simply the boundary within a domain where a particular domain model applies. Looking at the previous diagram, we can group functionality according to whether various functions will share a single domain model. Bounded contexts are not necessarily isolated from one another.

What does bounded context mean 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 domain in DDD principle?

Domain-Driven Design(DDD) is a collection of principles and patterns that help developers craft elegant object systems. Properly applied it can lead to software abstractions called domain models. These models encapsulate complex business logic, closing the gap between business reality and code.


2 Answers

Bounded Context is where Ubiquitous Language lives.

Vaughn Vernon defines DDD in short as:

Developing Ubiquitous Language within Bounded Context

This question has been asked and answered before

UPDATE: I gave a talk at DDD Norway meetup about, covering the importance of UL and contexts. Slides can be found here.

like image 53
Alexey Zimarev Avatar answered Sep 27 '22 15:09

Alexey Zimarev


The ubiquitous language is defined within a bounded context. This becomes obvious when you look at different BCs that contain the same term. The concept of a book in an online shop is completely different than a book in a authoring system.

From Implementing DDD by Vaughn Vernon:

Bounded Context Is Explicit and Linguistic

A Bounded Context is an explicit boundary within which a domain model exists. Inside the boundary all terms and phrases of the Ubiquitous Language have specific meaning, and the model reflects the Language with exactness.

like image 34
theDmi Avatar answered Sep 27 '22 16:09

theDmi