The fundamentals of DDD can broadly be categorized into two parts—building blocks, and strategic design and principles. These can be further categorized into different parts, shown as follows:
Building blocks:
Ubiquitous language and Unified Model Language (UML)