Ubiquitous Language

Learn what ubiquitous language is, and how it helps domain and technical experts speak the same language.

Let us imagine a situation when it is necessary to translate a word between two different languages. For instance, in Italian, pasta is a type of food, but in Spanish, it can be a type of medicine. Another example can be the word gift. In Scandinavia, it means to get married, whereas it means poison in German. The reason behind these comparisons is that these differences in terms of meaning can come up when designing a model. It tends to cause potential problems and misunderstandings between technical and domain experts.

What is Ubiquitous language?

When modeling a domain, perhaps in a session such as an event storming, business experts may use business jargon, and technical experts may use technical jargon. It will cause translations of terms between the two worlds, and even worse, it can cause misinterpretations of terms. In the Domain Driven Design world, domain and technical experts must speak the same language, which means they must speak the same terminology because it guarantees software to evolve quickly over time.

To solve this problem, Domain Driven Design offers a strategic pattern called Ubiquitous Language. It aims to avoid translations between the business and technical world in order to create a better understanding of the domain. Software that is built on top of ubiquitous language is most understandable due to reflecting business terminology in its code. It has to have exact names and terms that are defined in a model.

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy