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)
- Multilayered architecture
- Artifacts (components)
- Strategic design and principles:
- Bounded context
- Continuous integration
- Context map