Ubiquitous Language

Definition
The language used by experts and users is reflected in the names of classes and methods.
Ubiquitous Language

How does it work?

It's always good to define the concepts used in a software project, and put these definitions in writing for all participants to see. Especially important for newcomers to the project.

In ubiquitous language, classes are named after domain concepts. This facilitates the communication between developers and the client, as all participants are talking the same (ubiquitous) language.

When should you use it?

  • Always, except when using concepts that don't neatly fit into the domain

Problems

  • Often clients use multiple names for the same concept, or the naming may change

Links