Ubiquitous Language
- Definition
- The language used by experts and users is reflected in the names of classes and methods.
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