Domain-Driven Design (DDD) is a concept aimed at managing the complexity of software projects by placing the domain of the problem at the center. It promotes close collaboration between domain experts and developers to create a shared understanding of the domain and develop effective models.
Use this profile to understand the building block briefly, place it in the model, and switch to the 360° assessment when needed.
Domain-Driven Design (DDD) is an approach to building software for complex business domains. Domain experts and developers create a shared model of the domain and use a common, precise language to express it.
DDD comes from the world of complex enterprise software and was shaped especially by Eric Evans' book “Domain-Driven Design”. It is most useful when business rules, language, and processes form the real core of a system.
DDD can be understood on two levels. Strategic design divides a large domain into explicit bounded contexts and describes their relationships. Tactical design offers building blocks such as entities, value objects, aggregates, and domain events to express the model inside a context in code. The Ubiquitous Language connects both levels: the same domain terms appear in conversations, models, and software.
A deliberately simplified representation of the domain terms, rules, and relationships that matter to the system.
A shared language that domain experts and developers use consistently in conversation, documentation, and code.
An explicit boundary within which a model and its terms have one consistent meaning.
Organizes domains, subdomains, and bounded contexts and makes their organizational and technical relationships visible.
Provides concrete modeling building blocks for expressing domain behavior in code.
DDD is particularly useful when a team needs to understand domain complexity, define responsibility boundaries, or align software architecture closely with the business domain. It creates orientation before technical solutions and organizational structures are fixed.
Where this building block is located in the topic model.
Explore how this building block connects to concepts, methods, technologies, and tools.
These sources establish the term and its professional meaning.
All direct connections of the current building block in a compact text view.
This classification shows where the building block typically matters, how demanding it is, and what kind of impact it has in the model.
The level within the organization (enterprise, domain, team) at which the AssetBlock is applied.