The main goal of Domain-Driven Design is to combat the complexity of business processes, their automation and implementation in code. “Domain” is translated as “subject area”, and it is from the subject area that the development and design within the framework of this approach is based.
The key concept in DDD is “ubiquitous language”. Ubiquitous language facilitates transparent communication between project participants. He is not one in the sense that he is one for all occasions. Just the opposite. All participants communicate in it, the whole discussion takes place in terms of a single language, and all artifacts should be maximally presented in terms of a single language, that is, starting from the TK and ending with the code.
The next concept is “domain model”. This model is a dictionary of terms from the ubiquitous language. Both the domain model and the ubiquitous language are limited to a context, which in Domain-Driven Design is called a bounded context. It limits the domain model in such a way that all concepts within it are unambiguous, and everyone understands what is at stake.